nginx配置说明

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了nginx配置说明相关的知识,希望对你有一定的参考价值。

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——Nginx启动报错Job for nginx.service failed because the control process exited with error code(代码片段

Nginx配置文件详细介绍

[AndroidStudio]_[初级]_[配置自动完成的代码片段]

[AndroidStudio]_[初级]_[配置自动完成的代码片段]

[AndroidStudio]_[初级]_[配置自动完成的代码片段]

Nginx 跨域