资源静态化

合并文件输出

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   打印使用指定的输出类似格式字符串
posted @   半条咸鱼  阅读(91)  评论(0编辑  收藏  举报
(评论功能已被禁用)
相关博文:
阅读排行:
· 微软正式发布.NET 10 Preview 1:开启下一代开发框架新篇章
· 没有源码,如何修改代码逻辑?
· PowerShell开发游戏 · 打蜜蜂
· 在鹅厂做java开发是什么体验
· WPF到Web的无缝过渡:英雄联盟客户端的OpenSilver迁移实战
点击右上角即可分享
微信分享提示