(1)开启status模块
location /status {
stub_status on;#开启status模块
access_log off;#关闭访问日志记录
allow 127.0.0.1;#允许IP访问
allow localhost;
deny all;#拒绝其他IP访问
}
(2)设置并发
worker_processes 2;#启动多少个worker进程
events {
worker_connections 50000;#每个worker进程支持的最大并发连接数量
}
(3)设置最大可打开文件数
worker_rlimit_nofile 65535;
另外,注意linux系统最大文件限制数
vim /etc/security/limits.conf
root hard nofile 65000
root soft nofile 65000
(4)gzip压缩
gzip on;#开启压缩
gzip_min_length 1000;#对大于指定字节大小的文件进行压缩处理
gzip_comp_level 4;#压缩比率
gzip_types text/plain text/css application/json application/x-javascript text/xml application/xml application/xml+rss text/javascript;#指定需压缩的文件类型
(5)设置缓存
open_file_cache max=2000 inactive=20s;#最大缓存数量,清除指定时间内无请求的缓存
open_file_cache_valid 60s;#过期时间(不管是不是一直被访问,也会过期)
open_file_cache_min_uses 5;#超过设置的最小访问次数数据会被缓存
open_file_cache_errors off;#关闭缓存文件错误
(6)开启目录可浏览
autoindex on;
(7)超时
proxy_connect_timeout 5s;
proxy_send_timeout 10s;
proxy_read_timeout 10s;
keepalive_timeout 30s;
keepalive_requests 100;
proxy_connect_timeout指定与代理服务器的连接超时时间,包括TCP连接的建立和SOCKET连接的时间。在默认情况下,Nginx没有设置此选项,因此连接时间不会超时。
proxy_send_timeout指定向后端服务器发送请求的超时时间,包括发送请求头和请求体的时间。如果后端服务器不能在此时间内响应,则代理服务器会返回504错误。
proxy_read_timeout指定代理服务器接收响应的超时时间。如果后端服务器不能在这个时间内返回响应,则Nginx会关闭连接,同时返回一个504GatewayTime-out错误。
keepalive_timeout指定客户端与代理服务器之间的连接保持时间。如果客户端在超时时间内没有发送新的请求,则连接会被关闭。
keepalive_requests指定每个Keepalive连接的最大请求次数。如果超过此数量,则连接会被关闭。