NGINX配置文件详解

拥有回忆 提交于 2019-11-28 06:29:28

worker_cpu_affinity auto;
Binds worker processes to the sets of CPUs.

worker_rlimit_nofile number;
worker进程所能打开的最大文件描述符数量,一般与ulimit -n相同即可

error_log logs/error.log;
存放错误日志路径

pid logs/nginx.pid;
pid进程路径

event{
use epoll;
#epoll是多路复用IO(I/O Multiplexing)中的一种方式,但是仅用于linux2.6以上内核,可以大大提高nginx的性能

worker_connections 1024;
#单个后台worker process进程的最大并发链接数

accept_mutex off;
#当一个新连接到达时,如果激活了accept_mutex,那么多个Worker将以串行方式来处理,其中有一个Worker会被唤醒,其他的Worker继续保持休眠状态;如果没有激活accept_mutex,那么所有的Worker都会被唤醒,不过只有一个Worker能获取新连接,其它的Worker会重新进入休眠状态,这就是「惊群问题」。一般为了吞吐量还是关闭好一点。

multi_accept on;
#尽可能多的接受请求,否则一个worker进程只接收一个连接。
}

http{
include mime.types; #文件扩展名与类型映射表

default_type application/octet-stream; #默认文件类型


#设定请求缓存
server_names_hash_bucket_size 128;
#设置服务器名称哈希表的存储大小。默认值取决于处理器缓存行的大小。

client_header_buffer_size 128k;
#设置客户端请求头的缓冲区大小。对于大多数请求,1K字节的缓冲区就足够了。

client_body_buffer_size 128K;
#缓冲区请求body最大缓存

sendfile on;
#开启高速传输。不适用于下载等高IO应用。

tcp_nopush on;
#激活tcp_nopush参数可以允许把httpresponse header和文件的开始放在一个文件里发布,积极的作用是减少网络报文段的数量

tcp_nodelay on;
#激活tcp_nodelay,内核会等待将更多的字节组成一个数据包,从而提高I/O性能

gzip on;

gzip_min_length 1K;
#设置允许压缩的页面最小字节数,

gzip_comp_level 9;
#压缩比率。用来指定GZIP压缩比,1压缩比最小,处理速度最快;9压缩比最大,传输速度快,但处理最慢,也比较消耗cpu资源。

gzip_types text/plain application/x-javascript text/css application/xml;
#用来指定压缩的类型,“text/html”类型总是会被压缩

log_format main '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" $http_x_forwarded_for';
#设置日志格式

keepalive_timeout 65;
#保持连接超时数。可避免重新连接。

server{
location /{

}
}
}

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!