Nginx服务优化配置方案
1、expires缓存模块
具体配置可参考官方文档 http://nginx.org/en/docs/http/ngx_http_headers_module.html#expires
[root@cairui conf]# cat nginx.conf | egrep -v "#|^$" user nginx; worker_processes 1; events { worker_connections 1024; } http { include mime.types; default_type application/octet-stream; sendfile on; keepalive_timeout 65; server { listen 80; server_name localhost; location / { root html; index index.html index.htm; } location ~ .*\.(gif|jpg|jpeg|png|bmp|swf|js|html|htm|css)$ { log_not_found off; expires 7d ; access_log off; proxy_store on; proxy_store_access user:rw group:rw all:rw; } error_page 500 502 503 504 /50x.html; location = /50x.html { root html; } } } [root@cairui conf]# curl -I http://120.25.255.87/1.jpg HTTP/1.1 200 OK Server: nginx/1.13.9 Date: Mon, 05 Mar 2018 04:08:41 GMT Content-Type: image/jpeg Content-Length: 48561 Last-Modified: Wed, 29 Nov 2017 08:16:39 GMT Connection: keep-alive ETag: "5a1e6ce7-bdb1" Expires: Mon, 12 Mar 2018 04:08:41 GMT Cache-Control: max-age=604800 Accept-Ranges: bytes
2、Nginx压缩模块(gzip)
配置压缩模块
[root@localhost vhost]# vi www.vhosts server { listen 8001; server_name 192.168.1.3; location / { root /web/www; index index.html index.htm; access_log /application/nginx/log/access_www.log commonlog; } location ~ .*\.(gif|jpg|jpge|png|bmp|swf)$ { expires 3560d; root /web/www; } location ~ .*\.(js|css)?$ { expires 30d; root /web/www; } gzip on; #开启压缩功能 gzip_min_length 1k; #设置允许压缩页面的最小字节数 gzip_buffers 4 16k; gzip_http_version 1.0; gzip_comp_level 2; gzip_types text/plain application/x-javascript text/css application/xml; gzip_vary on; }
检查语法、重启服务
[root@localhost vhost]# /application/nginx/sbin/nginx -t nginx: the configuration file /application/nginx-1.10.1/conf/nginx.conf syntax is ok nginx: configuration file /application/nginx-1.10.1/conf/nginx.conf test is successful [root@localhost vhost]# /application/nginx/sbin/nginx -s reload [root@localhost vhost]# cd /web/www/ [root@localhost www]# ll total 12 -rw-r--r--. 1 root root 20 Sep 26 07:00 index.html -rw-r--r--. 1 root root 5798 Sep 19 06:46 mysql.jpg [root@localhost www]# rz rz waiting to receive. Starting zmodem transfer. Press Ctrl+C to cancel. Transferring 1.js... 100% 42 KB 42 KB/s 00:00:01 0 Errors ?[root@localhost www]# ll total 56 -rw-r--r--. 1 root root 43978 Sep 27 05:06 1.js -rw-r--r--. 1 root root 20 Sep 26 07:00 index.html -rw-r--r--. 1 root root 5798 Sep 19 06:46 mysql.jpg 客户端访问 http://192.168.1.3:8001/1.js [root@localhost www]# curl -I http://192.168.1.3:8001/1.js HTTP/1.1 200 OK Server: nginx/1.10.1 Date: Tue, 27 Sep 2016 04:44:08 GMT Content-Type: application/javascript Content-Length: 43978 Last-Modified: Tue, 27 Sep 2016 02:06:23 GMT Connection: keep-alive ETag: "57e9d41f-abca" Expires: Thu, 27 Oct 2016 04:44:08 GMT Cache-Control: max-age=2592000 Accept-Ranges: bytes
总结