nginx的配置

Main全局配置段常见的配置指令分类
1、正常运行必备的配置
2、优化性能相关的配置
3、用于调式及定位问题的相关配置
4、时间驱动相关的配置

 

帮助文档:
http://nginx.org.en/docs/

全局配置文件的地方

nginx 内置变量upstream_配置文件

 

1、正常运行必备的配置

◆正常运行必备的配置 :
◆帮助文档: http://nginx.org/en/docs/ngx_ core. module.html
➢1、user
  Syntax:  user user [group];
  Default:  user nobody nobody;
  Context:  main
  指定worker进程的运行身份,如组不指定,默认和用户名同名
➢2、pid /PATH/TO/PID_ FILE
  指定存储nginx主进程PID的文件路径
➢3、include file| mask
  指明包含进来的其它配置文件片断
➢4、load_ module file
  模块加载配置文件: /usr/share/nginx/modules/*.conf
  指明要装载的动态模块路径: /usr/lib64/nginx/modules

 

 

1.1、user

使用ps -aux进行查看相关的服务

nginx 内置变量upstream_配置文件_02

 

 

 

修改配置user

 

nginx 内置变量upstream_nginx 内置变量upstream_03

 

 

 

进行语法检测以及配置文件的重新加载

nginx 内置变量upstream_优先级_04

 

 

 

查看服务进程

nginx 内置变量upstream_配置文件_05

系统默认使用nginx即系统在安装时就进行创建账号

 

1.2、pid

nginx 内置变量upstream_nginx_06

 

 

 

进行的编号(master)

nginx 内置变量upstream_nginx 内置变量upstream_07

服务一旦停止文件立即消失
只有在服务启动时候才会生成文件

 

1.3、load_modules

主要的为二级文件都存放在usr/shaer/nginx/READE.dynamic中

 

2、性能优化相关配置

➢1、worker processes nymber | auto
    worker进程的数量;通常应该为当前主机的cpu的物理核心数

➢2、worker_ cpu _affinity cpumask..
    worker _cpu_ affinity auto [qpumask]提高缓存命中率
    CPU MASK : 00000001 : 0号CPU
          00000010 : 1号CPU
          10000000 : 8号CPU
    worker_ cpu affinity 0001 0010 0100 1000;
    worker_ .cpu_ _affinity 0101 1010;

➢3、worker_ priority number
  指定worker进程的nice值,设定worker进程优先级: [-20,20]

➢4、worker_ rlimit_ nofile number
  worker进程所能够打开的文件数量上限,如65535

 

 

2.1、worker_process

nginx 内置变量upstream_nginx 内置变量upstream_08

 

 

 

默认值是auto
此时修改值为auto
根据内核来计算的

nginx 内置变量upstream_nginx 内置变量upstream_09

 

 

 

2.2、worker_cpu_affinity auto

提高缓存的命中率
CPU MASK :
00000001:0号cpu
00000010:1号cpu
10000000:8号cpu
主要观察1的位置

worker_cpu_affinity 00001 0010 0100 1000;

是要根据worker_press中的数量进行相关的计算
此时令其等于2

nginx 内置变量upstream_nginx 内置变量upstream_10

 

 

 

nginx 内置变量upstream_nginx 内置变量upstream_11

 

 

 

查看相关nginx的服务工作地址
ps axo pid,cmd,psr|grep nginx

nginx 内置变量upstream_优先级_12

 

 

 

可以使用watch -n ''去监控查看相关的端口号变化

nginx 内置变量upstream_nginx_13

 

 

 

在某些条件下的cpu会发生改变
此时则需要进行固定可以提高cpu的缓存利用率

修改配置文件

nginx 内置变量upstream_配置文件_14

 

 

 

查看相关的绑定

nginx 内置变量upstream_优先级_15

 

 

 

2.3、worker_priority number

相关优先级

查看优先级
ps axo pid,cmd,psr,nice|grep nginx
默认优先级是0

nginx 内置变量upstream_配置文件_16

 

 

 

优先级范围是-20 ~ 20

进行修改优先级

nginx 内置变量upstream_nginx_17

 

 

 

修稿之后的优先级

nginx 内置变量upstream_配置文件_18

 

 

 

 

2.4、worker_rlimit

进程能够打开的文件数量上限如65535
希望能够支持多个用户并发
可以服务多少个用户进程

 

3、事件驱动相关配置

➢events{

    ......

    }

➢1、worker_ connections number
  每个worker进程所能够打开的最大并发连接数数量,如10240
  总最大并发数: worker_ processes * worker_ connections

➢2、use method
  指明并发连接请求的处理方法,默认自动选择最优方法use epoll;
➢3、accept_ mutex on| off互斥
  处理新的连接请求的方法; on指由各个worker轮流处理新请求

  Off指每个新请求的到达都会通知(唤醒)所有的worker进程

  但只有一个进程可获得连接 ,造成“惊群”,影响性能

 

 

3.1、worker_connections number

每个worker的能够打开的最大并发链接数据

nginx 内置变量upstream_nginx 内置变量upstream_19

 

 worker_rlimit = worker_processes * worker_connections

 

3.2、use method

指明并发链接请求的处理方法
默认自动选择最优方法

use epoll;

 

3.3、accept_mutex on|off 互斥

处理请求的链接请求的方法
on指由各个worker轮流处理请求
off指每个请求的到达都会通知所有的worker进程,但是只有一个进程可以获得链接,造成“精群”,影响性能

 

4、调式和定位问题

➢1、daemon: on|off
  是否以守护进程方式运行nignx ,默认是守护进程方式
➢2、master_ process on|off
  是否以master/worker模型运行nginx ;默认为on
  off将不启动worker
➢3、error_ log file [level]
  错误日志文件及其级别;出于调试需要,可设定为debug ;但debug仅在编译时
  使用了"--with-debug" 选项时才有效

  方式: file /path/logfile;
  stderr:发送到标准错误
  syslog:server- address[parameter =values]:发送到syslog memory:size内存
  level:debuglinfo|notice|warnlerrorlcritlalterlemerg

 

4.1、daemon on|off

是否以守护进程的方式运行nginx
默认时守护进程
即可以后台运行

进行修改为off

nginx 内置变量upstream_nginx_20

 

 

服务就会在前台运行

nginx 内置变量upstream_配置文件_21

 

 

 

4.2、master_process on|off

是否已master/worker模型运行nginx 默认为on
off将不启动worker

进行修改文件

nginx 内置变量upstream_优先级_22

 

 

此时查看相关进程
此时就是独立的进程没有work进程

nginx 内置变量upstream_nginx_23

 

 

4.3、error_log file[level]

错误日志即级别
处于调试的需要
可以设定为debug,但debug仅在编译时使用了 --with-debug 才有效

修改位置

nginx 内置变量upstream_nginx 内置变量upstream_24

 

 

查看错误文件

nginx 内置变量upstream_配置文件_25