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

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

這種情況該如何解決?

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

PHPz
PHPz

学习是最好的投资!

全部回覆 (1)
習慣沉默

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

    最新下載
    更多>
    網站特效
    網站源碼
    網站素材
    前端模板
    關於我們 免責聲明 Sitemap
    PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!