Nginx配置文件—nginx.conf 详解

Nginx.conf配置文件分为3个部分,分别是全局块、events块和http块,其中http块又分为http全局块和server块,每个server块中可以包含多个location块和server全局块,如下图所示:
在这里插入图片描述

模块配置详解

  1. 全局块
    全局块是默认配置文件从开始到events块之间的内容。主要设置nginx整体运行的配置指令,这些指令的作用域是全局。通常包括配置运行Nginx服务器的用户(组)允许生成的worker process数Nginx进程PID存放路径日志的存放路径和类型以及配置文件引入等。
# Nginx worker进程运行的用户及用户组,决定了进程的权限,默认是nobody,可以设置为root
user nobody;
 
# Nginx worker进程个数:其数量直接影响性能,建议设置为等于CPU总核心数,每个worker进程都是单线程的进程,他们会调用各个模块以实现多种多样的功能。如果这些模块不会出现阻塞式的调用,那么,有多少CPU内核就应该配置多少个进程,反之,有可能出现阻塞式调用,那么,需要配置稍多一些的worker进程
worker_processes 8;
 
# error_log全局错误日志位置及定义类型,日志级别[ debug | info | notice | warn | error | crit ]
error_log /usr/local/nginx/logs/error.log info;
 
# pid文件(master进程ID的pid文件存放路径)的路径
pid /usr/local/nginx/logs/nginx.pid;
 
#nginx进程打开的最多文件描述符数目,如linux 2.6内核下开启文件打开数为65535,worker_rlimit_nofile就相应应该填写65535。这是因为nginx调度时分配请求到进程并不是那么的均衡,所以假如填写10240,总并发量达到3-4万时就有进程可能超过10240了,这时会返回502错误。
worker_rlimit_nofile 65535;

常用得全局模块

user nobody;
worker_processes auto;
error_log /usr/local/nginx/logs/error.log notice;
pid /usr/local/nginx/logs/nginx.pid;

events块

events块涉及的指令主要影响Nginx服务器与用户的网络连接,对性能影响较大。常用到的设置包括是否开启对多worker process下的网络连接进行序列化是否允许同时接收多个网络连接选取哪种事件驱动模型处理连接请求每个worker process可以同时支持的最大连接数等。

events
{
   
    # use得参考事件模型,有以下类型[ kqueue | rtsig | epoll | /dev/poll | select | poll ]; 
    # Epoll:使用于Linux内核2.6版本及以后的系统。
    # Select、poll属于标准事件模型,如果当前系统不存在更有效的方法,nginx会选择select或poll
    # Kqueue:使用于FreeBSD 4.1+, OpenBSD 2.9+, NetBSD 2.0 和 MacOS X.
    # dev
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值