Nginx高级课程扩容(四)

news2025/1/24 22:48:00

Brotli

安装
● 官网
● https://github.com/google/ngx_brotli
● https://codeload.github.com/google/brotli/tar.gz/refs/tags/v1.0.9
● 下载 两个项目
● 解压缩
模块化编译

./configure --with-compat --add-dynamic-module=/root/ngx_brotli-1.0.0rc --prefix=/usr/local/nginx/

--add-dynamic-module=brotli目录 

● make
● 将 ngx_http_brotli_filter_module.so ngx_http_brotli_static_module.so 拷贝到 /usr/local/nginx/modules/
● 复制nginx主程序
● 配置文件中添加

load_module "/usr/local/nginx/modules/ngx_http_brotli_filter_module.so";
load_module "/usr/local/nginx/modules/ngx_http_brotli_static_module.so"; 

brotli on;
brotli_static on;
brotli_comp_level 6;
brotli_buffers 16 8k;
brotli_min_length 20;
 brotli_types text/plain text/css text/javascript application/javascript text/xml application/xml application/xml+r 

测试
默认http协议是没有br的

curl -H 'Accept-Encoding: gzip' -I http://localhost

 合并客户端请求

Concat模块
Tengine
Nginx官方介绍
https://www.nginx.com/resources/wiki/modules/concat/
git地址
https://github.com/alibaba/nginx-http-concat
● 安装
下载源码解压缩编译安装
● 配置

concat on;
concat_max_files 30;

资源静态化

 •高并发系统资源静态化方案
•一致性问题
•合并文件输出
•集群文件同步

SSI合并服务器端文件

官方文档
http://nginx.org/en/docs/http/ngx_http_ssi_module.html
配置
ssi_min_file_chunk
向磁盘存储并使用sendfile发送,文件大小最小值
ssi_last_modified
是否保留lastmodified
ssi_silent_errors
不显示逻辑错误
ssi_value_length
限制脚本参数最大长度
ssi_types
默认text/html;如果需要其他mime类型 需要设置
include file

<!--# include file="footer.html" -->

静态文件直接引用
include virtual
可以指向location,而不一定是具体文件
include wait
阻塞请求
include set
在virtual基础上设置变量
set
设置临时变量
block
可以声明一个ssi的命令块,里面可以包裹其他命令
config errmsg
在模板中配置报错情况
config timefmt
日期格式化
echo
直接输出变量
● var变量名称
● encoding 是否使用特殊编码格式
● default 变量没有值的时候使用默认值
if
逻辑判断
rsync
https://www.samba.org/ftp/rsync/rsync.html
remote synchronize是一个远程数据同步工具,可通过 LAN/WAN 快速同步多台主机之间的文件。也可以使用 rsync 同步本地硬
盘中的不同目录。 rsync 是用于替代 rcp 的一个工具,rsync 使用所谓的 rsync算法 进行数据同步,这种算法只传送两个文件的不同部分,而不是每次都整份传送,因此速度相当快。
rsync 基于inotify 开发
Rsync有三种模式:
● 本地模式(类似于cp命令)
● 远程模式(类似于scp命令)
● 守护进程(socket进程:是rsync的重要功能) 

rsync 常用选项

安装
两端安装
yum install -y rsync
密码文件
创建文件 /etc/rsync.password
内容
hello:123
修改权限
chmod 600 /etc/rsync.password
修改配置
auth users = sgg
secrets file = /etc/rsyncd.pwd
开机启动
在 /etc/rc.local 文件中添加
rsync --daemon
● 修改权限
echo "sgg:111" >> /etc/rsyncd.passwd
查看远程目录
rsync --list-only 192.168.44.104::www/
拉取数据到指定目录
rsync -avz rsync://192.168.44.104:873/www
rsync -avz 192.168.44.104::www/ /root/w
使用SSH方式
rsync -avzP /usr/local/nginx/html/ root@192.168.44.105:/www/
客户端免密
客户端只放密码
echo "111" >> /etc/rsyncd.passwd
此时在客户端已经可以配合脚本实现定时同步了
如何实现推送?
修改配置
rsync -avz --password-file=/etc/rsyncd.passwd.client /usr/local/nginx/html/ rsync://sgg@192.168.44.105:/www
--delete 删除目标目录比源目录多余文件
实时推送
推送端安装inotify
依赖
yum install -y automake
wget http://github.com/downloads/rvoicilas/inotify-tools/inotify-tools-3.14.tar.gz
./configure --prefix=/usr/local/inotify
make && make install
监控目录
/usr/local/inotify/bin/inotifywait -mrq --timefmt '%Y-%m-%d %H:%M:%S' --format '%T %w%f %e' -e close_write,modify,delete,create,attrib,move //usr/local/nginx/html/
简单自动化脚本
#!/bin/bash
/usr/local/inotify/bin/inotifywait -mrq --timefmt '%d/%m/%y %H:%M' --format '%T %w%f %e' -e close_write,modify,delete,create,attrib,move //usr/local/nginx/html/ | while read file
do
rsync -az --delete --password-file=/etc/rsyncd.passwd.client /usr/local/nginx/html/ sgg@192.168.44.102::ftp/
done 

inotify常用参数

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1454304.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

[嵌入式系统-28]:开源的虚拟机监视器和仿真器:QEMU(Quick EMUlator)与VirtualBox、VMware Workstation的比较

目录 一、QEMU概述 1.1 QEMU架构 1.2 QEMU概述 1.3 什么时候需要QEMU 1.4 QEMU两种操作模式 1.5 QEMU模拟多种CPU架构 二、QEMU与其他虚拟机的比较 2.1 常见的虚拟化技术 2.1 Linux KVM 2.2 Windows VirtualBox 2.3 Windows VMware workstation 三、VirtualBox、VM…

【Java程序员面试专栏 Java领域】Java集合 核心面试指引

关于Java 集合部分的核心知识进行一网打尽,主要包括Java各类集合以及Java的HashMap底层原理,通过一篇文章串联面试重点,并且帮助加强日常基础知识的理解,全局思维导图如下所示 集合基本概念和比较 关于集合的基本分类和知识 Java集合有哪些种类 Java 集合, 也叫作容器…

leetcode hot100 打家劫舍

本题中&#xff0c;依旧可以发现&#xff0c;当前位置的金额受到前两个位置金额是否被偷的影响&#xff0c;所以这明显是动态规划的问题。 我们采用动态规划五部曲来进行做 首先我们确定dp数组的含义&#xff1a;考虑下标i&#xff08;包括i&#xff09;以内的房屋&#xff0…

3秒开服《幻兽帕鲁》!如何抓住游戏背后的云计算机遇?

导语 | 2024 年伊始&#xff0c;《幻兽帕鲁》的火热就为新一年的游戏市场带来了极高的热度&#xff0c;无论是超千万份的销量还是关于游戏“缝合”与“借鉴”的争议&#xff0c;都使得开年游戏市场的销售前景与话题度拉满。而在游戏市场之外&#xff0c;云服务市场尤其是其面向…

K8s服务发现组件之CoreDNS/NodeLocalDNS /kubeDNS

1 coredns 1.1 概述 1.1.1 什么是CoreDNS CoreDNS 是一个灵活可扩展的 DNS 服务器&#xff0c;可以作为 Kubernetes 集群 DNS&#xff0c;在Kubernetes1.12版本之后成为了默认的DNS服务。 与 Kubernetes 一样&#xff0c;CoreDNS 项目由 CNCF 托管。 coredns在K8S中的用途,…

大屏设计:公说公有理婆说婆有理!错,看这十个判定标准。

“公说公有理&#xff0c;婆说婆有理”这句话通常用来形容争论双方都认为自己是正确的&#xff0c;而且都有自己的理由和观点。在设计中&#xff0c;这种情况也是很常见的。 为什么会公说公有理婆说婆有理&#xff1f; 设计是一门艺术和技术相结合的学科&#xff0c;涉及到很多…

人机工程学和人机交互理论:智能座舱设计

hello家人们...本人熟悉PS、Xd、Ai、Sketch、Figma、墨刀、即时设计、mastergo、Pixso等行业设计软件以及前端开发等技能&#xff0c;拥有10年的UI经验&#xff0c;我们可以通过关注评论私信交流以帮助到您解决UI工作中的烦恼&#xff01;谢谢 人机工程学与人机交互理论&#x…

源聚达:抖音网店做多久可以做起来

在数字化浪潮中&#xff0c;抖音作为新兴的电商平台&#xff0c;吸引了无数创业者的目光。然而&#xff0c;“抖音网店做多久可以做起来”这一问题&#xff0c;却像一道复杂的数学题&#xff0c;需要细致的解析与推导。 成功的抖音网店并非一蹴而就。根据业内数据分析&#xff…

Find My资讯|苹果Vision Pro无法通过Find My进行远程定位和发声

苹果 Vision Pro 头显现在已经正式开售&#xff0c;不过根据该公司日前发布的支持文件&#xff0c;这款头显目前缺乏一系列关键查找功能&#xff0c;用户无法在 iCloud 网站或Find My应用中获悉头显的位置&#xff0c;也无法让这款头显远程播放声音。 不过支持文件同时提到 V…

Java 学习和实践笔记(12)

这个就比较有意思了&#xff01;所有的事情&#xff0c;拆分完之后&#xff0c;都有且只有这三种状态流程&#xff01; //TIP To <b>Run</b> code, press <shortcut actionId"Run"/> or // click the <icon src"AllIcons.Actions.Execute&…

78LXX——单片稳压集成电路,有固定的电压输出,适用于需100mA电源供给的应用场合,应用于声卡和电脑主板等产品中

78LXX系列是一款单片稳压集成电路&#xff0c;它们有一系列固定的电压输出&#xff0c;道用于需100mA电源供给的应用场合。78LXX系列采用T0-92和SOT-89-3L的封装 主要特点: 最人输出电流为100mA 输出电压为3.3V.5V.V.8V、9V、10V、 12V和15V 热过载保护 输出短…

开工大吉!秀一下我们假期の战绩

开工大吉&#xff0c;新年新气象 首先祝大家开工大吉&#xff0c;新年新气象。 祝我的粉丝股东们都能&#xff1a;顺利上岸&#xff0c;升职加薪&#xff0c;日进斗金&#xff01; 开工就要冲冲冲&#xff01; 春节假期我是好好放松了&#xff0c;在努力克制自己不要像之前…

C++中.h与.hpp文件的差异问答

.h文件与.hpp文件在C编程中的区别主要基于约定和偏好&#xff0c;而不是C语言或其编译器强制执行的任何技术差异。以下是这些差异的概述&#xff1a; 约定&#xff1a; .h 文件&#xff1a;此扩展名源于C编程&#xff0c;表示头文件。它在C中常用于头文件&#xff0c;但不一定表…

BUGKU-WEB 头等舱

题目描述 题目截图如下&#xff1a; 进入场景看看&#xff1a; 解题思路 先看看源码再看看F12请求和响应 相关工具 略 解题步骤 查看源码&#xff0c;好家伙真的什么也没有 2. 看看F12请求和响应&#xff0c;找到了 得到Flag flag{a49c7aba1014c3673ec9982946d0545a…

函数——递归(c++)

递归是一种类似枚举的方法&#xff0c;可以理解为“函数的自我调用”。 递归比循环枚举解决的问题多&#xff0c;所以递归包含了循环枚举。 #include <iostream> using namespace std; int aaa(int); int q; int main() {cin>>q;cout<<aaa(q);return 0; } i…

001 QGIS介绍

Quantum GIS&#xff08;QGIS&#xff09;是开源地理信息系统桌面软件&#xff0c;使用GNU&#xff08;General Public License&#xff09;授权&#xff0c; 属于 Open Source eospatial Foundation&#xff08;OSGeo&#xff09;的官方计划。在 GNU 授权下&#xff0c;开发者…

2024跨境电商独立站的优势有哪些?

随着全球化的发展&#xff0c;跨境电商正成为越来越多企业的发展战略。在跨境电商中&#xff0c;拥有独立站点的企业相比于仅在第三方平台上销售的企业&#xff0c;具有诸多优势。以下是搭建跨境电商独立站的一些明显优势&#xff1a; 品牌塑造与建设&#xff1a; 独立站允许企…

洛谷P5742 评等级 题解

#题外话&#xff08;第29篇题解&#xff09;&#xff08;本题为普及-难度&#xff09; #先看题目 题目链接https://www.luogu.com.cn/problem/P5742 #思路&#xff08;就那样……&#xff09; #代码 #include <bits/stdc.h>//iostream也可以 using namespace std; int…

超优秀的三维模型优化与可视化平台(轻量化、格式转换、可视化等)

老子云概述 老子云3D可视化快速开发平台&#xff0c;集云压缩、云烘焙、云存储云展示于一体&#xff0c;使3D模型资源自动输出至移动端PC端、Web端&#xff0c;能在多设备、全平台进行展示和交互&#xff0c;是全球领先、自主可控的自动化3D云引擎。 平台架构 平台特性 基于 …

pip详解

看这篇文章的目录&#xff0c;大家会发现写的很详细&#xff0c;适合收藏哦。如果你是刚学python的小白也没关系&#xff01;看完这篇文章&#xff0c;关于pip的一切你就懂了。 关于pip的命令需要使用命令行&#xff0c;那么打开命令行界面: wins/winr快捷键都行&#xff0c;…