一聚教程网:一个值得你收藏的教程网站

热门教程

nginx反向代理和gzip_static模块使用

时间:2022-06-30 18:56:36 编辑:袖梨 来源:一聚教程网

本文示例假设后端服务器IP为192.168.1.10,前端代理服务器IP为192.168.1.5。
(如果没有多台服务器,也可以用内网IP或者nginx监听不同的端口来实现同样的效果)

1、首先我们要确认nginx的gzip_static模块已经被编译进去:

nginx -V
如果该命令输出有--with-http_gzip_static_module,则说明nginx支持gzip_static模块。如果没有,需要加上 --with-http_gzip_static_module该参数重新编译nginx。

2、配置nginx

 代码如下 复制代码
location ~ .html$ {
gzip_static on;
}

3、配置代理服务器的nginx

 代码如下 复制代码
server {
listen 80;
server_name YOUR_DOMAIN.com;
location / {
proxy_set_header Host $host;
proxy_set_header Accept-Encoding 'gzip';
proxy_pass http://192.168.1.10;
}
}

4、配置完成后,前端的代理服务器和后端的nginx重启以便配置生效:

 代码如下 复制代码
nginx -s reload

5、测试是否生效:

后端服务器在网站目录里上传一个test.html文件,然后执行:

 代码如下 复制代码
gzip test.html

完成后会生成test.html.gz文件,同时test.html文件会被删除。

然后打开浏览器访问前端的nginx:

 代码如下 复制代码

http://192.168.1.5/test.html

如果页面正常显示,则说明配置成功。我们同时要验证一下在浏览器不支持gzip的情况下,是否能正常显示页面。下面我们采用telnet工具进行测试:

 代码如下 复制代码

telnet 192.168.1.5 80

GET /test.html HTTP/1.0

 
注意:GET那一行最后连续两个回车。

如果正常输出了明文的HTML代码,说明配置是没有问题的。

6、配置成功之后,即可对自己的应用进行调整,生成html静态文件时,调用gzip命令生成gz压缩文件,这样大大减少静态文件占用硬盘空间的情况,同时也会减少每次进行gzip压缩所消耗的CPU资源。

热门栏目