Skip to main content
 首页 » 编程设计

gzip之如何检查 nginx gzip_static 模块是否正常工作

2024年05月06日7598°冷暖

如何检查 nginx 是否正在提供 .gz 版本的静态文件(如果存在)?

我使用 gzip 静态模块编译了 nginx,但我的日志中没有看到任何提及 .gz 版本的信息。 (我已缩小 global.js 和 global.css 文件,并在同一目录中使用它们的 .gz 版本)。

nginx.conf 的相关部分如下所示:

gzip  on; 
gzip_static on; 
gzip_http_version 1.0; 
gzip_disable "MSIE [1-6]\."; 
gzip_vary on; 
 
gzip_comp_level 2; 
gzip_proxied any; 
gzip_types text/plain text/html text/css application/x-javascript text/xml application/xml application/xml+rss text/javascript; 

如有任何指点,我们将不胜感激。

请您参考如下方法:

使用strace。首先,需要检测nginx进程的PID:

# ps ax | grep nginx 
25043 ?        Ss     0:00 nginx: master process /usr/sbin/nginx -c /etc/nginx/nginx.conf 
25044 ?        S      0:02 nginx: worker process 

好的,所以25044是工作进程。现在,我们追踪它:

# strace -p 25044 2>&1 | grep gz 
open("/var/www/css/ymax.css.gz", O_RDONLY|O_NONBLOCK) = 438 
open("/var/www/css/patches/patch_my_layout.css.gz", O_RDONLY|O_NONBLOCK) = -1 ENOENT (No such file or directory) 
open("/var/www/yaml/core/iehacks.css.gz", O_RDONLY|O_NONBLOCK) = -1 ENOENT (No such file or directory) 
open("/var/www/js/koznazna5.js.gz", O_RDONLY|O_NONBLOCK) = -1 ENOENT (No such file or directory) 
open("/var/www/css/ymax.css.gz", O_RDONLY|O_NONBLOCK) = 216 

如您所见,它正在尝试查找文件的 .gz 版本。