Nginx 简单优化配置

worker_rlimit_nofile 65535; # 进程最大打开文件数
worker_connections 65535; # 单个工作进程可以允许同时建立外部连接的数量
multi_accept on;
如果multi_accept被禁止了,nginx一个工作进程只能同时接受一个新的连接。否则,一个工作进程可以同时接受所有的新连接。
# nginx进程数,建议设置为等于CPU总核心数,最多开启8个,超过8个稳定性不高
worker_processes auto;

worker_cpu_affinity auto; # 多核CPU利用参数

http 部分优化

sendfile on; ## 开启高效文件传输模式
## 当有数据时,先别着急发送, 确保数据包已经装满数据, 避免了网络拥塞
tcp_nopush on;
## 确保数据尽快发送, 提高可数据传输效率
tcp_nodelay on;

客户端 和 服务端的连接配置

## 指定每个 TCP 连接最多可以保持多长时间
keepalive_timeout 40s;
## 客户端向服务端发送一个完整的 request header 的超时时间
client_header_timeout 10;
## 指定客户端与服务端建立连接后发送 request body 的超时时间
client_body_timeout 10;
## 客户端请求头缓存 大小 4k
client_header_buffer_size 4k;
## 大文件上传限制
client_max_body_size 100m;
## 设置用于读取大客户端请求头的缓冲区的最大数目和大小
large_client_header_buffers 4 32k;
## 服务端向客户端传输数据的超时时间
send_timeout 10;
## 告诉nginx关闭不响应的客户端连接。这将会释放那个客户端所占有的内存空间。
reset_timedout_connection on;

服务文件缓存

## 服务器域名hash size
server_names_hash_bucket_size 128;
## 打开缓存的同时也指定了缓存最大数目,以及缓存的时间。我们可以设置一个相对高的最大时间,这样我们可以在它们不活动超过20秒后清除掉
open_file_cache max=102400 inactive=20s;
## 定义了open_file_cache中指令参数不活动时间期间里最小的文件数
open_file_cache_min_uses 1;
## 在open_file_cache中指定检测正确信息的间隔时间
open_file_cache_valid 30s;

后端服务器 proxy

# 后端服务器连接的超时时间_发起握手等候响应超时时间
proxy_connect_timeout 90;
# 后端服务器数据回传时间_就是在规定时间之内后端服务器必须传完所有的数据
proxy_send_timeout 90;
# 后端服务器处理请求的时间
proxy_read_timeout 90;
# Nginx使用该大小申请read_buf,即大小指定了 upstream header 最大长度,如果响应头超过了这个长度会报502    
proxy_buffer_size 128k;        #出现110错误需要更改相应大小值
# 设置存储被代理服务器响应的body所占用的buffer个数和每个buffer大小
proxy_buffers 256 128k;
proxy_busy_buffers_size 256k;    #proxy_buffers的两倍
proxy_temp_file_write_size 256k; #proxy_buffers的两倍

fastcgi 配置

fastcgi_connect_timeout 300;
fastcgi_send_timeout 300;
fastcgi_read_timeout 300;
fastcgi_buffer_size 128k;      #出现110错误需要更改相应大小值
fastcgi_buffers 256 128k;
fastcgi_busy_buffers_size 256k;    #fastcgi_buffers的两倍
fastcgi_temp_file_write_size 256k; #fastcgi_buffers的两倍

数据压缩

# 告诉nginx采用gzip压缩的形式发送数据;这将会减少我们发送的数据量
gzip  on;
# 设置对数据启用压缩的最少字节数。如果一个请求小于1000字节,我们最好不要压缩它,因为压缩这些小的数据会降低处理此请求的所有进程的速度
gzip_min_length     256;
gzip_buffers        4 16k;
gzip_http_version   1.1;
gzip_vary on;
# 设置数据的压缩等级。这个等级可以是1-9之间的任意数值,9是最慢但是压缩比最大的。
gzip_comp_level 5;
gzip_disable "MSIE [1-6]\.";
# 允许或者禁止压缩基于请求和响应的响应流。我们设置为any,意味着将会压缩所有的请求。
gzip_proxied any;

评论已关闭。