3 Nginx目錄和配置語法

2021-10-23 01:28:22 字數 1936 閱讀 9959

指令

值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如果不主動...