Nginx服务优化配置

时间:2022-05-06
本文章向大家介绍Nginx服务优化配置,主要内容包括1、expires缓存模块、2、Nginx压缩模块(gzip)、基本概念、基础应用、原理机制和需要注意的事项等,并结合实例形式分析了其使用技巧,希望通过本文能帮助到大家理解应用这部分内容。

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