指令
值user
出於安全考慮,預設是nginx、nobody
worker_processes
工作程序數,一般來說,設定與cpu的核心數相同即可
error_log
儲存錯誤日誌的路徑,可以設定error_log的級別
pidnginx 程序id
user nginx;
worker_processes 4;
error_log /var/log/nginx/error.log warn;
pid /var/run/nginx.pid;
events
http
日積月累,nginx 的日誌檔案也會變得越來越大,如果我們是自己編譯安裝的nginx,可能就需要自己來處理日誌檔案的分割了。定時分割日誌檔案,這有利於降低單個檔案的大小,方便排查,同時只保留最近一段時間的日誌,也可以節省磁碟空間
一般採用 logrotate 來進行日誌檔案的分割:
# usr1 re-opening log files
# daily 每天處理一次
# missingok 忽略檔案不存在的錯誤
# rotate 設定舊檔案保留的數量
# compress 對日誌進行壓縮
# delaycompress 延遲壓縮
# notifempty 如果檔案內容為空,不處理
# create 設定檔案許可權、使用者、組
# sharedscripts 對於prerotate和postrotate指令碼,如果匹配到了多個日誌檔案,只執行一次指令碼。如果沒有匹配到,則不執行。
# postrotate表示在日誌rotate之後,執行的指令碼
/var/log/nginx/*.log
測試 logrotate 配置是否生效
logrotate -v /etc/logrotate.conf
除錯定時任務,不會處理實際檔案
logrotate -vf /etc/logrotate.conf
立刻執行所有任務,不管是否已到執行時間,會處理實際檔案
###server配置
server
error_page 404 /404.html;
# 重定向伺服器的錯誤頁到指定的靜態頁面 /50x.html
error_page 500 502 503 504 404 /50x.html;
location = /50x.html
location ~ \.php$
}
當我們配置好了nginx,就可以使用curl來進行初步的測試了
curl -v > /dev/null
倘若我們想禁止使用者通過ip或者未設定的網域名稱來訪問,可以採取如下措施
server
變數型別
變數列表
內建變數
http請求變數
如果我們想要訪問/path/to/name,那麼 nginx 配置中,路由匹配的優先順序如下
修飾符說明
優先順序location = /path/to/name
精確匹配
1location /path/to/name
完整匹配
2location ^~ /path/to/name
表示uri以某個常規字串開頭,非正規表示式
3location ~* /path/to/name
使用不區分大小寫的正則來進行匹配
4location ~ /path/to/name
使用區分大小寫的正則來進行匹配
4location /path
部分匹配
5location /
通用匹配
6
nginx學習 3 Nginx 核心配置詳解
說明 main 配置影響nginx全域性的指令。一般有執行nginx伺服器的使用者組,nginx程序pid存放路徑,日誌存放路徑,配置檔案引入,允許生成worker process數等。event 配置影響nginx伺服器或與使用者的網路連線。有每個程序的最大連線數,選取哪種事件驅動模型處理連線請求...
3 Nginx 配置檔案一
定義 nginx 執行的使用者和使用者組 user www www 啟動程序 通常設定成和 cpu的數量相等 worker processes 8 worker cpu affinity 00000001 00000010 00000100 00001000 00010000 00100000 01...
Nginx的配置與部署(3)Nginx請求處理機制
本文為您解讀,nginx是如何處理請求的,讓你從邏輯上有乙個清晰的認識。處理訪問到 nginx 所在 ip 位址的請求,並且這些請求的 http 頭資訊中的 host 為所要處理的網域名稱 如下以80埠為例 如下幾個 server 就對應響應的請求 server server server如果不主動...