Ubuntu
全新 Ubuntu 安裝上的 Nginx + uWSGI - 綁定錯誤埠 80
我知道這是一個常見問題,通常與 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。