Nginx优化

来源:互联网 发布:远程会诊软件 编辑:程序博客网 时间:2024/06/05 12:46
nginx.conf

user ww
accept_mutex_delay当启用accept_mutex时,只有一个具有互斥锁的worker程序接受连接,而其他工作程序则轮流等待。 accept_mutex_delay对应于worker等待的时间帧,然后它尝试获取互斥锁并开始接受新的连接。 默认值为500毫秒

accept_mutex 由于我们在NGINX中配置了多个workers,因此我们还应配置影响worker的相关指令。 events区域下accept_mutex参数将使每个可用的worker进程逐个接受新连接。 默认情况下,该标志设置为on。 如:


worker_processes auto nginx对外提供web服务时worker进程数
worker_rlimit_nofile 1000000 worker进程的最大打开文件数量 ,设置了这个就可以防止因为操作系统限制出现 too many openn files 问题

events{
accept_mutex on;
multi_accept on; 告诉nginx收到一个连接通知后接受尽可能多的连接
use epoll 用户复用客户端线程的轮训方法。
}

HTTP模块
http{
sever_tokens off; #关闭在错误页面中nginx版本数字
sendfle on ;# 可以在磁盘和TCP socket之间相互拷贝数据
tcp_nopush on;#告诉nginx在一个数据包里发送所有头文件而不是一个一个的发送
tcp_nodelay on; #告诉nginx不要缓存数据,而是一段一段的发送,当需要及时发送数据时,就应该设置这个属性,这样发送一小块数据信息时就不能立即得到返回值


设置timeout 低数值,可以防止DOS攻击

keepalive_timeout 10; #给客户端分配keep-alive连接超时时间,可以稍微低一点
client_header_timeout 10;
client_body_timeout 10; 设置请求头和请求体格子的超时时间,可以低一点
reset_timeout_connection on;# 关闭不响应的客户端连接,释放客户端所占有的内存空间
send_timeout 10; #客户端响应超时时间,两次客户端读取操作之间,如果在这段时间内,客户端没有读取任何数据,nginx就会关闭连接

limit_conn_zone $binary_remote_addr zone =addr:5m;
#用于保存各种key的共享内存
limit_conn add 100;#表示同一个ip最多同时打开100个连接
limit_conn slimits 5; #限制连接用户

gzip on; #开启gzip亚索
gzip_disable "msie6" # 为制定的客户端禁用gzip的功能
gzip_min_length 1000; #设置对数据启用亚索的最少字节数,如果一个请求小于1000字节最好不要压缩
gzip_comp_level 4;#设置压缩等级,1-9之间,9表示压缩比最大。

open_file_cache max=10000 inactive =20s
open_file_cache_valid

}

0 0
原创粉丝点击