您的位置:首页 > 运维架构 > Nginx

nginx配置优化

2015-09-15 00:00 543 查看
摘要: nginx1.8配置优化参数说明

下面是的我的nginx.cnf配置,我把参数说明加上了。

user nginx;
worker_processes auto;
worker_rlimit_nofile 65535;
error_log /data/wwwroot/nginxlogs/logs/error.log;
pid /var/run/nginx.pid;

events {
worker_connections 10240;
multi_accept on; #nginx收到一个新连接通知后接受尽可能多的连接
use epoll;
}

http {
include mime.types;
default_type application/octet-stream;
#charset UTF-8; #设置我们的头文件中的默认的字符集
#charset koi8-r;
server_tokens off; #关闭在错误页面中的nginx版本数字
#nginx waf
lua_package_path "/usr/local/nginx/conf/waf/?.lua";
lua_shared_dict limit 10m;
init_by_lua_file /usr/local/nginx/conf/waf/init.lua;
access_by_lua_file /usr/local/nginx/conf/waf/waf.lua;

log_format main '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"';

#access_log logs/access.log main;
server_names_hash_bucket_size 128; #服务器名字的hash表大小
client_header_buffer_size 32k; #客户端请求头部的缓冲区大小,这个可以根据你的系统分页大小来设置,一般一个请求头的大小不会超过1k,
large_client_header_buffers 4 128k; #设定请求缓冲区
client_max_body_size 8m; #
sendfile on; #可以在磁盘和tcp socket之间互相拷贝数据,因为这种拷贝是在内核完成的,sendfile()要比组合read()和write()以及打开关闭丢弃缓冲更加有效
tcp_nopush on; #告诉nginx在一个数据包里发送所有头文件,而不一个接一个的发送。
tcp_nodelay on; #告诉nginx不要缓存数据,而是一段一段的发送--当需要及时发送数据时,就应该给应用设置这个属性,这样发送一小块数据信息时就不能立即得到返回值。
keepalive_timeout 10; #给客户端分配keep-alive链接超时时间。服务器将在这个超时时间过后关闭链接。我们将它设置低些可以让ngnix持续工作的时间更长
client_header_timeout 10;
client_body_timeout 10; #设置请求头和请求体(各自)的超时时间
reset_timedout_connection on; # 告诉nginx关闭不响应的客户端连接。这将会释放那个客户端所占有的内存空间。
send_timeout 10; #指定客户端的响应超时时间。这个设置不会用于整个转发器,而是在两次客户端读取操作之间。如果在这段时间内,客户端没有读取任何数据,nginx就会关闭连接。
#gzip模块
gzip on;
gzip_proxied any; #压缩所有请求
gzip_http_version 1.0;
gzip_disable "msie6";
gzip_static on; #告诉nginx在压缩资源之前,先查找是否有预先gzip处理过的资源
gzip_min_length 1k; #最小压缩文件大小
gzip_buffers 4 16k; #压缩缓冲区
gzip_comp_level 6; #压缩等级
gzip_types text/plain application/x-javascript text/css application/xml text/xml application/xml+rss text/javascript; #设置需要压缩的格式
gzip_vary on;
fastcgi_connect_timeout 300;
fastcgi_send_timeout 300;
fastcgi_read_timeout 300;
fastcgi_buffer_size 32k;
fastcgi_buffers 4 32k;
fastcgi_busy_buffers_size 64k;
limit_conn_zone $binary_remote_addr zone=addr:5m; #设置用于保存各种key(比如当前连接数)的共享内存的参数.
limit_conn addr 100; #为给定的key设置最大连接数
open_file_cache max=100000 inactive=20s; #打开缓存的同时也指定了缓存最大数目,以及缓存的时间
open_file_cache_valid 30s; #在open_file_cache中指定检测正确信息的间隔时间。
open_file_cache_min_uses 2; #定义了open_file_cache中指令参数不活动时间期间里最小的文件数。
open_file_cache_errors on; #指定了当搜索一个文件时是否缓存错误信息,也包括再次给配置中添加文件。

include vhost/*;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: