nginx的配置
Main全局配置段常見的配置指令分類
1、正常運行必備的配置
2、優化性能相關的配置
3、用於調式及定位問題的相關配置
4、時間驅動相關的配置
幫助文檔:
http://nginx.org.en/docs/
全局配置文件的地方
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進行查看相關的服務
修改配置user
進行語法檢測以及配置文件的重新加載
查看服務進程
系統默認使用nginx即系統在安裝時就進行創建賬號
1.2、pid
進行的編號(master)
服務一旦停止文件立即消失
只有在服務啟動時候才會生成文件
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
默認值是auto
此時修改值為auto
根據內核來計算的
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的服務工作地址
ps axo pid,cmd,psr|grep nginx
可以使用watch -n ''去監控查看相關的端口號變化
在某些條件下的cpu會發生改變
此時則需要進行固定可以提高cpu的緩存利用率
修改配置文件
查看相關的綁定
2.3、worker_priority number
相關優先級
查看優先級
ps axo pid,cmd,psr,nice|grep nginx
默認優先級是0
優先級范圍是-20 ~ 20
進行修改優先級
修稿之后的優先級
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的能夠打開的最大並發鏈接數據
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
服務就會在前台運行
4.2、master_process on|off
是否已master/worker模型運行nginx 默認為on
off將不啟動worker
進行修改文件
此時查看相關進程
此時就是獨立的進程沒有work進程
4.3、error_log file[level]
錯誤日志即級別
處於調試的需要
可以設定為debug,但debug僅在編譯時使用了 --with-debug 才有效
修改位置
查看錯誤文件