首頁 運維 Nginx 重啟nginx時nginx.pid檔案遺失怎麼辦

重啟nginx時nginx.pid檔案遺失怎麼辦

Oct 19, 2020 pm 05:31 PM
nginx

重啟nginx時nginx.pid檔案遺失怎麼辦

一、nginx的停止操作

(推薦教學:nginx教學

停止操作是透過向nginx進程發送訊號來實現的,具體錯誤訊息如下:

[root@yoodb.com ~]# /usr/local/nginx/sbin/nginx -s reload
nginx: [error] open() “/usr/local/nginx/logs/nginx.pid” failed (2: No such file or directory)
登入後複製

步驟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發送訊號,平滑重啟。

平滑重啟命令程式碼如下:

kill -HUP 住进称号或进程号文件路径
登入後複製

或使用

/usr/nginx/sbin/nginx -s reload
登入後複製

注意,修改了設定檔後最好先檢查一下修改過的設定檔是否正確,以免重啟後Nginx出現錯誤影響伺服器穩定運作。判斷Nginx配置是否正確命令程式碼如下:

nginx -t -c /usr/nginx/conf/nginx.conf
登入後複製


/usr/nginx/sbin/nginx -t
登入後複製

三、nginx的平滑升級

如果伺服器正在執行的Nginx要進行升級、新增或刪除模組時,我們需要停掉伺服器並做相應修改,這樣伺服器就要在一段時間內停止服務,Nginx可以在不停機的情況下進行各種升級動作而不影響伺服器運作。

步驟1:

若升級Nginx程序,先用新程式取代舊程式文件,編譯安裝的話新程式直接編譯到Nginx安裝目錄。

步驟2:執行指令

kill -USR2 旧版程序的主进程号或进程文件名
登入後複製

此時舊的Nginx主程序將會將自己的行程檔改名為.oldbin,然後再執行新版 Nginx。新舊Nginx會同市運行,共同處理請求。

這時要逐步停止舊版Nginx,輸入指令:

kill -WINCH 旧版主进程号
登入後複製

慢慢舊的工作進程就都會隨著任務執行完畢而退出,新版的Nginx的工作進程會逐漸取代舊版工作進程。

可以決定使用新版本還是恢復到舊版。

四、不重載配置啟動新/舊工作進程

kill -HUP 旧/新版主进程号
登入後複製

從容關閉舊/新進程

kill -QUIT 旧/新主进程号
登入後複製

如果此時報錯,提示還有進程沒有結束就用下面命令先關閉舊/新工作進程,再關閉主進程號:

kill -TERM 旧/新工作进程号
登入後複製

注意在阿里雲伺服器上,進程性的nginx -s stop後再次啟動nginx -s reload ,總是會報錯誤

nginx: [error] open() “/alidata/server/nginx/logs/nginx.pid” failed (2: No such file or directory)
登入後複製

原因:nginx進程殺死後pid丟失了,下一次再開啟nginx -s reload時無法啟動,重裝可以解決問題。也可以參考英文的解釋:

issued a nginx -s stop and after that I got this error when trying to reload it.
[error]: invalid PID number “” in “/var/run/nginx.pid”
That /var/run/nginx/pid file is empty atm.
What do I need to do to fix it?
nginx -s reload is only used to tell a running nginx process to reload its config. After a stop,
you don’t have a running nginx process to send a signal to.
Just run nginx (possibly with a -c /path/to/config/file)
登入後複製

使用方法,程式碼如下:

nginx -c /path/to/config/file
登入後複製

Linux系統執行指令如下:
##

/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf
登入後複製

以上是重啟nginx時nginx.pid檔案遺失怎麼辦的詳細內容。更多資訊請關注PHP中文網其他相關文章!

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

AI Hentai Generator

AI Hentai Generator

免費產生 AI 無盡。

熱門文章

R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳圖形設置
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您聽不到任何人,如何修復音頻
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25:如何解鎖Myrise中的所有內容
4 週前 By 尊渡假赌尊渡假赌尊渡假赌

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

tomcat伺服器怎麼能讓外網訪問 tomcat伺服器怎麼能讓外網訪問 Apr 21, 2024 am 07:22 AM

要讓 Tomcat 伺服器對外網訪問,需要:修改 Tomcat 設定文件,允許外部連接。新增防火牆規則,允許存取 Tomcat 伺服器連接埠。建立 DNS 記錄,將網域名稱指向 Tomcat 伺服器公有 IP。可選:使用反向代理提升安全性和效能。可選:設定 HTTPS 以提高安全性。

thinkphp怎麼運行 thinkphp怎麼運行 Apr 09, 2024 pm 05:39 PM

ThinkPHP Framework 的本機運作步驟:下載並解壓縮 ThinkPHP Framework 到本機目錄。建立虛擬主機(可選),指向 ThinkPHP 根目錄。配置資料庫連線參數。啟動 Web 伺服器。初始化 ThinkPHP 應用程式。存取 ThinkPHP 應用程式 URL 運行。

Welcome to nginx!怎麼解決? Welcome to nginx!怎麼解決? Apr 17, 2024 am 05:12 AM

要解決"Welcome to nginx!" 錯誤,需要檢查虛擬主機配置,啟用虛擬主機,重新加載Nginx,如果無法找到虛擬主機配置文件,則創建預設頁面並重新加載Nginx,這樣錯誤訊息將消失,網站將正常顯示。

html檔案怎麼產生網址 html檔案怎麼產生網址 Apr 21, 2024 pm 12:57 PM

若要將 HTML 檔案轉換為網址,需要使用網頁伺服器,包括以下步驟:取得網頁伺服器。設定網路伺服器。上傳 HTML 文件。建立域名。路由請求。

nodejs專案怎麼部署到伺服器 nodejs專案怎麼部署到伺服器 Apr 21, 2024 am 04:40 AM

Node.js 專案的伺服器部署步驟:準備部署環境:取得伺服器存取權限、安裝 Node.js、設定 Git 儲存庫。建置應用程式:使用 npm run build 產生可部署程式碼和相依性。上傳程式碼到伺服器:透過 Git 或檔案傳輸協定。安裝依賴項:SSH 登入伺服器並使用 npm install 安裝應用程式相依性。啟動應用程式:使用 node index.js 等命令啟動應用程序,或使用 pm2 等進程管理器。設定反向代理(可選):使用 Nginx 或 Apache 等反向代理路由流量到應用程式

nodejs可以外網存取麼 nodejs可以外網存取麼 Apr 21, 2024 am 04:43 AM

是的,Node.js 可以外網存取。您可以使用下列方法:使用 Cloud Functions 部署函數並公開存取。使用 Express 框架建立路由並定義端點。使用 Nginx 反向代理請求到 Node.js 應用程式。使用 Docker 容器運行 Node.js 應用程式並透過連接埠映射公開。

如何使用 PHP 部署和維護網站 如何使用 PHP 部署和維護網站 May 03, 2024 am 08:54 AM

要成功部署和維護PHP網站,需要執行以下步驟:選擇Web伺服器(如Apache或Nginx)安裝PHP建立資料庫並連接PHP上傳程式碼到伺服器設定網域名稱和DNS監控網站維護步驟包括更新PHP和Web伺服器、備份網站、監控錯誤日誌和更新內容。

如何使用 Fail2Ban 保護伺服器免受暴力攻擊 如何使用 Fail2Ban 保護伺服器免受暴力攻擊 Apr 27, 2024 am 08:34 AM

Linux管理員的一個重要任務是保護伺服器免受非法攻擊或存取。預設情況下,Linux系統附有配置良好的防火牆,例如iptables、UncomplicatedFirewall(UFW),ConfigServerSecurityFirewall(CSF)等,可防止多種攻擊。任何連接到網路的機器都是惡意攻擊的潛在目標。有一個名為Fail2Ban的工具可用來緩解伺服器上的非法存取。什麼是Fail2Ban? Fail2Ban[1]是一款入侵防禦軟體,可保護伺服器免受暴力攻擊。它是用Python程式語

See all articles