Nginx配置
Nginx支持一臺主機上搭建多個https:TLS SNI support enabled
配置文件組成部分
主配置文件:nginx.conf
子配置文件:include conf.d/*.conf
fastcgi,uwsgi,scgi等協議相關的配置文件
主配置文件的配置指令:
directive value [value2 ...];
注意:
1、指令必須以分號結尾
2、支持使用配置變量
內建變量:由Nginx模塊引入,可直接引用
自定義變量:由用戶使用set命令定義
set variable_name value;
引用變量:$variable_name
主配置文件結構:四部
main block:主配置段,即全局配置段,對所有功能(http,mail)都有效
event {
. . .
} 事件驅動相關配置
http {
. . .
} http/https 協議相關配置段
mail {
. . .
} mail協議相關配置段
stream {
. . .
} stream服務器相關配置段
http協議相關的配置結構
http {
. . .
. . . 各server的公共配置
server { 每個server用於定義一個虛擬主機
. . .
}
server {
. . .
server_name 虛擬主機名
root 主目錄
alias 路徑別名
location [OPERATOR] URL { 指定URL的特性
. . .
if CONDITION {
. . .
}
}
}
}
nginx配置
Main全局配置段常見的配置指令分類
正常運行必備的配置
優化性能相關的配置
用於調試及定位問題相關的配置
事件驅動相關的配置
幫助文檔
正常運行的必備配置:
1、user
指定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、worker_process number | auto
worker進程的數量;通常應該爲當前主機的CPU的物理核心數
2、worker_cpu_affinity cpumask . . .
worker_cpu_affinity auto [cpumask] 提高緩存命中率
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
事件驅動相關配置
events {
. . .
}
1、worker_connections number
每個worker進程所能夠打開的最大併發連接數量;如10240
總最大併發數:worker_process * worker_connections
2、use method
指明併發連接請求的處理方法,默認自動選擇最優方法;use epoll
3、accept_mutex on | off 互斥
處理新的連接請求的方法;on指由各個worker輪流處理新請求,off指每個新請求的到達都會通知(喚醒)所有的worker進程,但只有一個進程可獲得連接,造成“驚羣”,影響性能
高度和定位問題
1、daemon on | off
是否以守護進程方式運行nginx,默認是on守護進程方式;適用於測試環境使用
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:debug|info|notice|warn|error|crit|alter|emerg
http協議相關配置
http {
. . .
}