码迷,mamicode.com
首页 > 其他好文 > 详细

nginx配置说明

时间:2018-05-01 20:48:05      阅读:141      评论:0      收藏:0      [点我收藏+]

标签:nginx   配置说明   51cto   

user nginx; worker_processes auto; #nginx worker进程数量,自动根据CPU个数拉起worker进程,worker进程需小于等于CPU数 worker_cpu_affinity auto; #nginx进程绑定CPU,自动绑定,其他设置方式:no、0001 0000掩码方式 error_log /usr/local/nginx/logs/error.log error; ##error log的路径并且日志级别设为error pid /usr/local/var/run/nginx.pid; ##nginx的master 进程id worker_rlimit_nofile 800000; #nginx worker进程能打开的文件描述符数量上限,可通过ulimit -a查看Linux系统能打开的文件描述符上限

配置HTTP:

http {
    include      mime.types;
    default_type  text/html;

client_max_body_size 100m; #设置HTTP body消息体的最大值,主要用于对通过HTTP协议上传文件的大小进行限制。
client_body_buffer_size 10m; 

#nginx作为反向代理时,默认开启了与client的keepalive,同时要求client发送HTTP请求keepalive。为了提高QPS,有时需要对HTTP调整keepalive_timeout和keepalive_requests
keepalive_timeout 60; #设置一个请求完成后连接保持多少秒
keepalive_requests 10000; #设置一个keepalive连接中能够处理的请求最大数量,当请求数量到达最大值,关闭连接。默认为100。当QPS比较大时,必须调大keepalive_requests值。keepalive_requests偏小会导致长连接频繁的中断连接后重新建立连接,系统会有大量的TIME_WAIT的socket连接占用端口。

sendfile on; # Linux2.0之后的一个系统调用,减少kernal mode和user mode之间的切换,减少数据在kernal buffer、user buffer和协议栈之间的拷贝
tcp_nopush on; # 通过使用Linux tcp_cork,需要传输数据大于一定值后,将数据聚合发送。只有使用sendfile函数时才tcp_nopush生效。
tcp_nodelay on; #设置缓冲区里的数据立即发送出去,好处是request和reply的发送时间提前,整体响应时间缩短了,弊端就是,如果只需要传输 1 Byte数据,在加上40Byte的报头就会导致网络带宽利用率非常低。该选项是禁用Nagle算法的。
server_tokens off; 
more_set_headers "Server:elb";
}

nginx的IO与事件驱动配置

events {
accept_mutex off; ##缺省则默认打开,当新连接到达,accept_mutex会使worker串行处理请求,仅每次仅一个worker被唤醒处理新到达的请求,关闭则会所有worker被唤醒处理新的请求。。
use epoll;#使用epoll,其他并发IO模式还有select、poll等
multi_accept on; #打开时,通知nginx在收到一个新请求时,接受更多的链接。
worker_connections 100000; #每个worker能处理的并发连接数
}

nginx配置说明

标签:nginx   配置说明   51cto   

原文地址:http://blog.51cto.com/13599730/2110181

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!