nginx啟動報錯:Job for nginx.service failed. See 'systemctl status nginx.service' and 'journalctl -xn' fo


一、背景

      這個錯誤在重啟nginx或者啟動nginx的時候,經常會出現。我之前也一直認為出現這個錯誤是因為有程序占用了nginx的進程。但是知其然不知其所以然。每次報錯都有點懵逼,所以這邊一步步排查錯誤,做個記錄。 

二、排錯過程

1、按照提示

//按照提示,執行此命令,查看錯誤原因 systemctl status nginx.service


由報錯信息可知,nginx綁定80端口失敗。詳細錯誤請輸入 -l 繼續查看

2、繼續跟蹤錯誤

//查看錯誤的詳情 systemctl status nginx.service -l

這里輸入 -l 之后,說實話,差距並不大。原因還是綁定端口失敗。

 

3、nginx配置文件有錯誤

運行下面命令查看修改

nginx -t

4、已經啟動nginx或者配置文件中的端口號被占用

4.1檢查端口是否被占用,如果端口已經被占用,自己權衡一下是換個端口還是把占用端口的進程殺掉

netstat -tnlp

4.2檢查nginx是否已經啟動

ps -aux | grep nginx

如果已經啟動使用下面命令干掉即可

pkill -9 nginx

 

 

三、解決方案

1、查看此時占用80端口的程序

netstat -ntlp | grep 80



這里可以看到,80端口是被占用的 。我們再詳細看看占用80的是什么

ps -ef | grep 80

然后找到pid,殺掉這些程序

//-s 9 代表的是快速強制的殺掉pid程序 kill -s 9 pid

2、殺到沒有程序可殺為止,然后啟動nginx

 

此時啟動成功。

轉載自:https://blog.csdn.net/LJFPHP/article/details/79102840


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM