默認啓動Nginx的時候,使用的配置文件是,安裝路徑/conf/nginx.conf文件
可以在nginx的時候,通過-c來指定要讀取的配置文件
常見的配置文件有如下幾個:
nginx.conf:應用程序的基本配置文件
mime.types:MIME類型關聯的擴展文件
fastcgi.conf:與fastcgi相關的配置
proxy.conf:與proxy相關的配置
sites.conf:配置Nginx提供的網站,包括虛擬主機
Nginx的進程結構
啓動Nginx的時候,會啓動一個Master進程,這個進程不處理任何客戶端的請求,主要用來產生worker進程,一個worker進程用來處理一個request。
Nginx模塊分爲,核心模塊、事件模塊、標準Http模塊、可選Http模塊、郵件模塊、第三方模塊和補丁等
在配置文件可以使用include file.conf;包含進配置文件
主配置文件nginx.conf
user //nginx的用戶
pid //nginx的pid
work_processes //工作進程數 設置時和cpu數一樣或都比cpu數少一
error_log logs/error.log [debug | info | notice | warn | error | crit | alert | ermerg ] //錯誤日誌
work_cpu_affinity //cpu和進程綁定
當work_processes 4時
work_cpu_affinity 0001 0010 0100 1000
work_processes 2
work_cpu_affinity 0101 1010
work_priority number //work優先級調整 -20 to 20
work_rlimit_nofile number //work進程最大打開的進程數 默認1024 改65535
env var //定義變量
work_connections 1024 //一個work能處理的最大請求 假如之前配置了work_processes 4那麼服務總的能接受請求是4*1024。設置爲20480 最好比65535低 最多可承受100萬個請求數
http {
server
root /path //server的工作目錄(可以忽略)
listen *:80 //監聽的端口
server_name server.servername.com //服務器名稱*.servername.com支持通配符,"~(代表匹配的意思)"有多個server_name時,可以設置默認server。在listen 80 default_server;
location {//區段,通過指定模式來與客戶請求的URI相匹配
location {=(精確匹配)|~*(區分大小分)|^~(不區分大小)|@}
location / {
[configuration B]
}
location = / {
//優先級最高
}
location /documents/ {
}
location ^~ /images/{
//第二優先級
}
location ~* \.(gif|jpg|jpg){
//第三優先級
}
stub_status on; //顯示連接狀態
}
}
root path //表明一個路徑
access_log logs/access.log www;
keepalive_timeout 5; //長連接一個請求進來之後,5秒後一定會斷開,默認爲65
gzip [on | off] //壓縮
gzip_comp_level 1;//1等級壓縮gzip有9個等級壓縮
}