centos 7 nginx 綁定 ip 後不能隨系統啟動,顯示 bind() failed
PHPz
PHPz 2017-05-16 17:25:18
0
1
757

刻意新建了一個虛擬機器來測試,虛擬機器有兩個 ip:a.a.a.a、b.b.b.b,希望 nginx 只偵聽 a.a.a.a:80
但當設定檔裡設定指定偵聽ip listen a.a.a.a:80; 後重新啟動系統,nginx 會啟動失敗並報錯Starting nginx: [emerg]: bind() to a.a.a.a failed (99: Cannot assign requested address),但此時只要手動systemctl start nginx 就能正常啟動。
去掉設定檔裡的ip listen 80; 後重啟系統,nginx 卻能正常啟動。
總結:
指定偵聽 ip 後不能隨系統自動啟動服務,但手動啟動服務使用正常。
不指定偵聽 ip 的話就能隨系統自動啟動服務,使用正常。

這種情況該如何解決?

臨時解決方法請參閱本篇評論(預設沒有展開)
推測的原因是因為nginx需要偵測ip去綁定,而偵測的時候系統沒有回傳值or偵測的時機過快導致系統不允許綁定,詳細等大師補充

PHPz
PHPz

学习是最好的投资!

全部回覆(1)
習慣沉默

看看nginx啟動的用戶是不是root用戶,80埠預設是只有root才能佔用的,還的修改相關配置,才能讓一般用戶佔用80埠。

熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板