Ubuntu

全新 Ubuntu 安裝上的 Nginx + uWSGI - 綁定錯誤埠 80

  • March 5, 2011

我知道這是一個常見問題,通常與 apache 或其他已經在埠 80 上執行的服務有關,我已經做了很多搜尋和執行 netstat,但仍然沒有弄清楚為什麼我會收到這個錯誤。

我重建了我的切片,重新安裝了 Ubuntu 10.04 並設置了 nginx + uwsgi。它起作用了,我可以看到我的 Django 站點。然後,我從此連結安裝了 Postgres8.4 和 Geodjango 所需的其餘堆棧。

完成後,我嘗試重新啟動 nginx 並收到此錯誤:

sudo /etc/init.d/nginx start
Starting nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok
configuration file /usr/local/nginx/conf/nginx.conf test is successful
[emerg]: bind() to 0.0.0.0:80 failed (98: Address already in use)
[emerg]: bind() to 0.0.0.0:80 failed (98: Address already in use)
[emerg]: bind() to 0.0.0.0:80 failed (98: Address already in use)
[emerg]: bind() to 0.0.0.0:80 failed (98: Address already in use)
[emerg]: bind() to 0.0.0.0:80 failed (98: Address already in use)
[emerg]: still could not bind()

我將 nginx 設置為監聽 80。這是來自的輸出netstat -l --numeric-ports | grep 80

tcp        0      0 0.0.0.0:80              0.0.0.0:*               LISTEN     
tcp        0      0 127.0.0.1:8000          0.0.0.0:*               LISTEN

輸出sudo lsof +M -i4

nginx    2330     root    8u  IPv4   3195      0t0  TCP *:www (LISTEN)
nginx    2331 www-data    8u  IPv4   3195      0t0  TCP *:www (LISTEN)
uwsgi    2335        s    4u  IPv4   3259      0t0  TCP localhost:8000 (LISTEN)
uwsgi    2352        s    4u  IPv4   3259      0t0  TCP localhost:8000 (LISTEN)
uwsgi    2353        s    4u  IPv4   3259      0t0  TCP localhost:8000 (LISTEN)
uwsgi    2354        s    4u  IPv4   3259      0t0  TCP localhost:8000 (LISTEN)
uwsgi    2355        s    4u  IPv4   3259      0t0  TCP localhost:8000 (LISTEN)

任何人有任何其他想法我可以弄清楚是什麼阻塞了埠 80?

編輯

在此處粘貼我的 /etc/init.d/nginx 腳本:http: //dpaste.com/hold/400937/

您不應該將restart其作為參數發布給您的初始化腳本嗎?

我希望

sudo /etc/init.d/nginx start

抱怨 nginx 是否已經在執行。聽起來是這樣的。

fuser -n tcp 80將顯示使用埠 80 的程序 PID。

引用自:https://serverfault.com/questions/233072