默認啟動Nginx時,使用的配置文件是: 安裝路徑/conf/nginx.conf 文件,可以在啟動nginx的時候,通過-c來指定要讀取的配置文件
常見的配置文件有如下幾個:
- nginx.conf:應用程序的基本配置文件
- mime.types:MIME類型關聯的擴展文件
- fastcgi.conf:與fastcgi相關的配置
- proxy.conf:與proxy相關的配置
- sites.conf:配置Nginx提供的網站,包括虛擬主機
核心模塊指令:error_log、include、pid、user、worker_cpu_affinity、worker_processes
1、error_log
日志有6個級別:debug|info|notice|warn|error|crit
Nginx支持將不同的虛擬主機的日志記錄在不同的地方,如下示例:
http{ error_log logs/http_error.log error; server{ server_name one; access_log logs/one_access.log; error_log logs/one_error.log error; } server{ server_name two; access_log logs/two_access.log; error_log logs/two_error.log error; } }
注意:error_log off不是禁用日志,而是創建一個名為off的日志,要禁用日志,可以這么寫:
error_log /dev/null crit;
2、include
你可以包含一些其他的配置文件來完成你想要的功能。
http {
#......
include mime.types;
include proxy.conf;
#......
}
3、其他指令
指令和使用環境 |
語法和描述 |
pid |
語法: 文件路徑:pid logs/nginx.pid 默認值:在編譯時定義 用於配置nginx守護進程的pid文件路徑 |
user |
語法: user username ; user username groupname; 默認值:在編譯時定義,若未定義,則使用nginx的master進程的用戶和用戶組 該指令將允許你定義用戶和組別,nginx的worker進程將使用這些設置運行 |
worker_cpu_affinity |
語法: worker_cpu_affinity 1000 0100 0010 0001; worker_cpu_affinity 10 10 01 01; worker_cpu_affinity ; 默認值:無 該指令與woker_processes協同工作,它可以讓你的worker進程影響cpu內核,數字序列與worker進程一樣多。 如果你配置nginx使用3個worker進程,那么就會有3個數字序列(可以理解為3個塊),對於雙核cpu,那么每一個塊將會有兩位數字,worker_cpu_affinity 01 01 10 1、第一塊(01)指第一個worker進程會受第二個內核影響 2、第二塊(01)指第二個worker進程會受第二個內核影響 3、第三塊(10)指第三個worker進程會受第一個內核影響 注意:worker_cpu_affinity只建議針對多核處理器而非超線程處理器 語法:worker_cpu_affinity cpummask [cpumask] 默認值:無 說明:該選項僅適用於Linux,該選項允許你將worker進程綁定到一個CPU上,通過調用sched_setaffinity() 例如: worker_processes 4; worker_cpu_affinity 0001 0010 0100 1000; 以上指令實現了將每一個進程綁定到一個cpu worker_processes 2;worker_cpu_affinity 0101 1010; 以上指令實現了將第一個worker進程綁定到cpu0/cpu2 第二個worker進程綁定到cpu1/cpu3 這適用於超線程(HTT)cpu |
worker_processes |
語法: worker_processes 4; 默認值:1 定義工作進程數量,nginx可以將請求的處理分到多個工作進程,如果屬於cpu多核建議增加該值,如果一個進程由於慢的I/o操作被阻塞,那么進入的工作進程將轉交給其他工作進程 注:根據負載自動調整worker進程設置:worker_processes auto; |