09-nginx常用配置详解

Posted

tags:

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

nginx配置分为各个配置块,主配置块负责全局配置,子配置块可以继承全局配置,也可以相应的配置不同设置。

main block:主配置(全局配置)
    event{
        ...
    }事件驱动相关配置块
    http{
        ...
    }http/https 协议相关的配置块
    mail{
        ...
    }邮件服务器相关的配置块
    stream{
        ...
    }流服务器相关的配置块

主配置按照功能通常分为四类:

1.运行必备的配置

2.优化性能的配置

3.调试及定位问题的配置

4.事件驱动相关配置


 

运行必备的配置

 --  user :定义worker进程的用户与用户组,默认是nginx

Syntax: user user [group];
Default: user nobody nobody;
Context: main

--  pid :定义存储Master进程ID的文件路径 

Syntax: pid file;
Default: pid nginx.pid;
Context: main

--  include:配置文件可嵌入其他配置文件

--  load_module:加载动态模块

性能优化相关配置

--   worker_processes:定义worker进程的数量,通常为内核数量减一,也可定义为auto

worker_processes auto;

--  worker_cpu_affinity:设定cpu与worker进程绑定,默认不绑定,假设由4颗CPU,值可设为 auto ,或者

worker_processes 4;
worker_cpu_affinity 0001 0010 0100 1000;
[[email protected] nginx]# ps axo comm,pid,psr | grep nginx
nginx           10729   3
nginx           10797   0
nginx           10798   1
nginx           10799   2
nginx           10800   3
[[email protected] nginx]# ps aux | grep nginx
root     10729  0.0  0.2 122892  5180 ?        Ss   10:59   0:00 nginx: master process /usr/sbin/nginx
nginx    10797  0.0  0.2 123256  4008 ?        S    11:29   0:00 nginx: worker process
nginx    10798  0.0  0.2 123256  4012 ?        S    11:29   0:00 nginx: worker process
nginx    10799  0.0  0.2 123256  4016 ?        S    11:29   0:00 nginx: worker process
nginx    10800  0.0  0.2 123256  3788 ?        S    11:29   0:00 nginx: worker process
root     10808  0.0  0.0 112660   968 pts/0    R+   11:31   0:00 grep --color=auto nginx

--  worker_priority number:指定worker进程的nice值,默认为0,值越小优先级越高,取值范围  -20-20

worker_priority -5;

[[email protected] nginx]# ps axo comm,pid,psr,ni | grep nginx
nginx           10729   3   0
nginx           10830   0  -5
nginx           10831   1  -5
nginx           10832   2  -5
nginx           10833   3  -5

 --  worker_rlimit_nofile  number:worker进程所能打开的文件数量上限,一般往上了调,50000;

# For more information on configuration, see:
#   * Official English Documentation: http://nginx.org/en/docs/
#   * Official Russian Documentation: http://nginx.org/ru/docs/

user nginx;
worker_processes 4;
worker_cpu_affinity 0001 0010 0100 1000;
error_log /var/log/nginx/error.log;
pid /run/nginx.pid;

worker_priority -5;
worker_rlimit_nofile 50000;

# Load dynamic modules. See /usr/share/nginx/README.dynamic.

 

定位调试相关配置

--  daemon:决定nginx是否成为守护进程

--  master_process:决定是否启用worker进程

--  error_log:日志相关

事件驱动相关配置

events {
      ...
  }

--  worker_connections number:单个worker进程所能打开的最大并发连接数量;如果作反向代理,那么同时包括发送和接受,数量还要/2;

--  use method:指明处理请求的方法;

--  accept_mutex:可选值 on | off  ,如果启用on,worker进程接受请求时采取轮流处理新请求,off则通知所有worker进程。连接请求较少时建议启用on,可避免worker进程资源浪费;

events {
    worker_connections 10000;
    use epoll;
    accept_mutex on;
}

 

以上是关于09-nginx常用配置详解的主要内容,如果未能解决你的问题,请参考以下文章

详解Android WebView加载html片段

Nginx基础配置

配置 VScode 编辑器 (前端篇)

Hibernate常用配置文件详解

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

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