Nginx配置使用積累[不斷更新]
由於網上Nginx的文件太少,很多特性只能自己去嘗試,遂記錄Nginx的一些使用知識。
以下nginx.conf配置檔案中的配置:
1.Nginx不記錄錯誤日誌:
error_log /dev/null; #[linux下]
error_log null; #[Windows下]
2.Nginx不記錄404等錯誤資訊:
error_log logs/error.log info;
3.Nginx允許html執行post[解決http/1.1 405 Method not allowed]
error_page 405 =200 @405;
location @405
{
root /opt/htdocs;
}
4.Nginx虛擬主機+備機自動上線例子:
http {
upstream myCluster{
server 192.168.62.102:7001;
server 192.168.62.101:7001 backup; #[備機,主機掉線後,備機自動響應]
}
upstream bbsCluster{ #[虛擬主機,可以繫結不同的域名]
server 192.168.62.102;
server 192.168.62.101 backup;
}
server {
location /virtual {
proxy_pass http://myCluster/; #這裡的名字和上面的cluster的名字相同
proxy_redirect off;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}
server {
listen 80;
server_name bbs.knife.com; #繫結的第二個域名
location / {
proxy_pass http://bbsCluster/; #這裡的名字和上面的cluster的名字相同
proxy_redirect off;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}
}
以下是Nginx常用命令:
啟動操作
命令:
nginx
預設為:nginx -c /usr/nginx/conf/nginx.conf
-c引數指定了要載入的nginx配置檔案路徑。
停止操作
停止操作是通過向nginx程式傳送訊號(什麼是訊號請參閱linux文章)來進行的
步驟1:查詢nginx主程式號
ps -ef | grep nginx
在程式列表裡面找master程式,它的編號就是主程式號了。
步驟2:傳送訊號
從容停止Nginx:
kill -QUIT 主程式號
快速停止Nginx:
kill -TERM 主程式號
強制停止Nginx:
pkill -9 nginx
另外,若在nginx.conf配置了pid檔案存放路徑則該檔案存放的就是Nginx主程式號,如果沒指定則放在nginx的logs目錄下。有了pid檔案,我們就不用先查詢Nginx的主程式號,而直接向Nginx傳送訊號了,命令如下:
kill -訊號型別 `/usr/nginx/logs/nginx.pid`
平滑重啟
如果更改了配置就要重啟Nginx,要先關閉Nginx再開啟?不是的,可以向Nginx傳送訊號,平滑重啟。
平滑重啟命令:
kill -HUP 住進稱號或程式號檔案路徑
例如:
kill -HUP `cat /usr/local/nginx/logs/nginx.pid`
注意,修改了配置檔案後最好先檢查一下修改過的配置檔案是否正確,以免重啟後Nginx出現錯誤影響伺服器穩定執行。判斷Nginx配置是否正確命令如下:
nginx -t -c /usr/nginx/conf/nginx.conf
平滑升級
如果伺服器正在執行的Nginx要進行升級、新增或刪除模組時,我們需要停掉伺服器並做相應修改,這樣伺服器就要在一段時間內停止服務,Nginx可以在不停機的情況下進行各種升級動作而不影響伺服器執行。
步驟1:
如果升級Nginx程式,先用新程式替換舊程式檔案,編譯安裝的話新程式直接編譯到Nginx安裝目錄中。
步驟2:執行命令
kill -USR2 舊版程式的主程式號或程式檔名
此時舊的Nginx主程式將會把自己的程式檔案改名為.oldbin,然後執行新版Nginx。新舊Nginx會同市執行,共同處理請求。
這時要逐步停止舊版Nginx,輸入命令:
kill -WINCH 舊版主程式號
慢慢舊的工作程式就都會隨著任務執行完畢而退出,新版的Nginx的工作程式會逐漸取代舊版工作程式。
此時,我們可以決定使用新版還是恢復到舊版。
不過載配置啟動新/舊工作程式
kill -HUP 舊/新版主程式號
從容關閉舊/新程式
kill -QUIT 舊/新主程式號
如果此時報錯,提示還有程式沒有結束就用下面命令先關閉舊/新工作程式,再關閉主程式號:
kill -TERM 舊/新工作程式號
這樣下來,如果要恢復到舊版本,只需要上面的幾個步驟都是操作新版主程式號,如果要用新版本就上面的幾個步驟都操作舊版主程式號就行了。
相關文章
- 大資料的不斷積累,網路面臨哪些安全問題?大資料
- 程式設計的知識點 (不斷積累,終身程式設計)程式設計
- 積累工作不會的_2024_04
- Python3的使用積累Python
- 微軟推送win10更新十月版17763.168累積更新微軟Win10
- PS積累
- 微軟推送Win10創意者更新(1703)/週年更新(1607)累積更新微軟Win10
- nginx 配置使用Nginx
- 微軟開始推送Windows 10更新四月版17134.319累積更新微軟Windows
- 微軟推送Windows 10創意者更新秋季版16299.309累積性更新微軟Windows
- 微軟面向win10 pc使用者推送更新四月版17134.165累積更新補丁微軟Win10
- 微軟面向win10更新四月版使用者推送17134.137累積性補丁更新微軟Win10
- const特性總結(不斷更新)
- 微軟9月累積更新,修復66個CVE漏洞微軟
- lunix 命令積累
- nginx基本配置使用Nginx
- 日積月累-計算機英語詞彙(持續更新)計算機
- 微軟推送Win10 Mobile 4月份累積更新微軟Win10
- 微軟開始推送Mobile Build 15254.544正式版累積更新微軟UI
- 微軟針對Win10 Mobile Build推送15254.556累積更新微軟Win10UI
- 微軟開始推送Win10 Mobile 15254.538累積性更新微軟Win10
- 微軟開始推送Windows 10 Mobile Build 15063.1805累積性更新微軟WindowsUI
- 日常知識積累
- 工作點滴積累
- java問題積累Java
- js積累函式JS函式
- vue 個人積累Vue
- 微軟繼續推送Win10更新十月版17763.134累積更新補丁微軟Win10
- 微軟開始推送Win10更新四月版17134.471累積補丁更新微軟Win10
- 微軟正式推送2018 Windows 10更新四月版17134.48累積性補丁更新微軟Windows
- 微軟為win10創意者更新秋季版1709推送積累性更新16299.334微軟Win10
- SQL Server 2022 RTM 最新累積更新:Cumulative Update #13 for SQL Server 2022 RTMSQLServer
- 微軟7月累積更新來了!修復13個高危漏洞微軟
- 微軟10月累積更新,修復4個0day漏洞微軟
- Linux常用命令(不斷更新中)Linux
- 使用nginx配置子域名Nginx
- nginx 使用webrman配置示例NginxWeb
- 微軟開始推送Win10更新十月版17763.292正式版累積更新微軟Win10
- 微軟釋出最新Windows 10更新四月版的累積性更新補丁17134.191微軟Windows