资源静态化
合并文件输出
1、ngx_http_ssi_module
(1)前端合并:节约服务器计算资源,消耗请求数
(2)后端合并:ngx_http_ssi_module:动态资源静态化,不经过后端服务器,部署在 Nginx
2、ssi
(1)启用 / 禁用响应中的 SSI 命令的处理
(2)语法
ssi on | off;
(3)默认值
ssi off;
(4)位置:http、server、location、在 location 中的 if
3、ssi_last_modified
(1)允许在 SSI 处理过程中,保留原始响应头中的 Last-Modified 域,以方便响应缓存
(2)默认情况下,在处理过程中修改响应内容时,头字段会被删除,可能包含动态生成的元素或独立于原始响应的部分被改变
(3)语法
ssi_last_modified on | off;
(4)默认值
ssi_last_modified off;
(5)位置:http、server、location
(6)判断 Last-Modified,是否使用客户端缓存
4、ssi_min_file_chunk
(1)设置存储在磁盘上的响应部分的最小大小
(2)超出该大小,使用 sendfile 发送
(3)不超出该大小,则不在磁盘上存储响应文件
(3)语法
ssi_min_file_chunk size;
(4)默认值
ssi_min_file_chunk 1k;
(5)位置:http、server、location
5、ssi_silent_errors
(1)如果启用,在 SSI 处理过程中发生错误,则抑制 "[an error occurred while processing the directive]" 字符串的输出。
(2)语法
ssi_silent_errors on | off;
(3)默认值
ssi_silent_errors off;
(4)位置:http、server、location
6、ssi_types
(1)除 text/html 之外,还允许处理具有指定 MIME 类型的响应中的 SSI 命令
(2)* 匹配任何 MIME 类型
(3)语法
ssi_types mime-type ...;
(4)默认值
ssi_types text/html;
(5)位置:http、server、location
7、ssi_value_length
(1)设置 SSI 命令中参数值的最大长度
(2)语法
ssi_value_length length;
(3)默认值
ssi_value_length 256;
(4)位置:http、server、location
集群文件同步
1、remote synchronize
(1)一个远程数据同步工具
(2)通过 LAN / WAN 快速同步多台主机之间的文件
2、rsync + inotify
(1)使用 rsync 同步本地硬盘中的不同目录
(2)rsync 替代 rcp
(3)使用 rsync 算法进行数据同步,这种算法只传送两个文件的不同部分,而不是每次都整份传送,速度快
(4)rsync:同步推送、复制、比对
(5)inotify:监控
rsync
1、两端安装
yum install -y rsync
2、注意,首次远程连接时,会提示是否要继续连接,输入 yes 即可;另外,当成功建立连接后,需要输入目标系统的 root 密码
3、命令的基本格式
rsync [OPTION] SRC DEST
rsync [OPTION] SRC [USER@]HOST:DEST
rsync [OPTION] [USER@]HOST:SRC DEST
rsync [OPTION] [USER@]HOST::SRC DEST
rsync [OPTION] SRC [USER@]HOST::DEST
4、以上 5 种命令格式,rsync 有 5 种不同的工作模式
(1)第一种用于仅在本地备份数据,类似 cp
(2)第二种用于将本地数据备份到远程机器上,类似 scp
(3)第三种用于将远程机器上的数据备份到本地机器上,类似 scp
(4)第四种和第三种是相对的,第五种和第二种是相对的,它们各自之间的区别在于登陆认证时使用的验证方式不同
5、使用 rsync 在远程传输数据(备份数据)前
(1)需要进行登陆认证,这个过程需要借助 ssh 协议或 rsync 协议才能完成
(2)在 rsync 命令中,如果使用单个冒号 :,则默认使用 ssh 协议
(3)反之,如果使用两个冒号 ::,则使用 rsync 协议
(4)ssh 协议、rsync 协议的区别:rsync 协议在使用时,需要额外配置,增加工作量,但更安全;ssh 协议使用方便,无需进行配置,但有泄漏服务器密码的风险
6、命令格式中各个参数的含义
(1)SRC:用来表示要备份的目标数据所在的位置(路径)
(2)DEST:用于表示将数据备份到什么位置
(3)USER@:当做远程同步操作时,需指明系统登录的用户名,如果不显示指定,默认为以 root 身份登录系统并完成同步操作
7、选项
OPTION选项 | 功能 |
---|---|
-a | 这是归档模式,表示以递归方式传输文件,并保持所有属性,它等同于-r、-l、-p、-t、-g、-o、-D 选项。-a 选项后面可以跟一个 --no-OPTION,表示关闭 -r、-l、-p、-t、-g、-o、-D 中的某一个,比如-a --no-l 等同于 -r、-p、-t、-g、-o、-D 选项。 |
-r | 表示以递归模式处理子目录,它主要是针对目录,如果单独传一个文件不需要加 -r 选项,但是传输目录时必须加。 |
-v | 表示打印一些信息,比如文件列表、文件数量等。 |
-l | 表示保留软连接。 |
-L | 表示像对待常规文件一样处理软连接。如果是 SRC 中有软连接文件,则加上该选项后,将会把软连接指向的目标文件复制到 DEST。 |
-p | 表示保持文件权限。 |
-o | 表示保持文件属主信息。 |
-g | 表示保持文件属组信息。 |
-D | 表示保持设备文件信息。 |
-t | 表示保持文件时间信息。 |
--delete | 表示删除 DEST 中 SRC 没有的文件。 |
--exclude=PATTERN | 表示指定排除不需要传输的文件,等号后面跟文件名,可以是通配符模式(如 *.txt)。 |
--progress | 表示在同步的过程中,可以看到同步的过程状态,比如统计要同步的文件数量、 同步的文件传输速度等,显示同步过程,比 -v 更加详细 |
-u | 表示把 DEST 中比 SRC 还新的文件排除掉,不会覆盖。 |
-z | 加上该选项,将会在传输过程中压缩。 |
inotify
1、推送端安装
(1)依赖
yum install -y automake
(2)下载
wget https://codeload.github.com/inotify-tools/inotify-tools/tar.gz/refs/tags/3.22.6.0
(3)配置
./configure --prefix=/usr/local/inotify
(4)编译、安装
make && make install
2、参数
参数 | 说明 | 含义 |
-r | --recursive | 递归查询目录 |
-q | --quiet | 打印很少的信息,仅仅打印监控事件信息 |
-m | --monitor | 始终保持事件监听状态 |
--exclude | 排除文件或目录时,不区分大小写 | |
--timefmt | 指定事件输出格式 | |
--format | 打印使用指定的输出类似格式字符串 |
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 微软正式发布.NET 10 Preview 1:开启下一代开发框架新篇章
· 没有源码,如何修改代码逻辑?
· PowerShell开发游戏 · 打蜜蜂
· 在鹅厂做java开发是什么体验
· WPF到Web的无缝过渡:英雄联盟客户端的OpenSilver迁移实战