2011-01-30 108 views
7

我剛在我的Ubuntu(8.04)盒子上安裝了nginx的乘客。現在,「命令/etc/init.d/nginx重啓」失敗,出現以下錯誤:安裝乘客後Nginx重啓命令失敗

Restarting nginx: [emerg]: bind() to 0.0.0.0:3000 failed (98: Address already in use) 
[emerg]: bind() to 0.0.0.0:3000 failed (98: Address already in use) 
[emerg]: bind() to 0.0.0.0:3000 failed (98: Address already in use) 
[emerg]: bind() to 0.0.0.0:3000 failed (98: Address already in use) 
[emerg]: bind() to 0.0.0.0:3000 failed (98: Address already in use) 
[emerg]: still could not bind() 
nginx. 

我更新了..init.d/nginx的配置指向到/ opt/nginx的安裝乘客,使後應該都可以。

如果我用「sudo killall nginx」殺死進程並嘗試啓動nginx,它工作正常,但重新啓動不起作用。

+0

好像端口3000是正在使用的一些其他服務。您可以執行「ps auxwww | grep LISTEN | grep 3000」 以查看使用該端口的進程。 – 2011-01-30 22:46:57

回答

1

不理會

nginx: [warn] conflicting server name "69.162.95.11" on 69.162.95.11:80, ignored 

這不只是錯誤警告有關69.162.95.11不共享IP 關於

nginx: [emerg] bind() to 69.162.95.14:80 failed (98: Address already in use) 

只需重新啓動Nginx的可以解決這個問題,如果沒有則檢查下無SSL端口調整設置。安裝後,無SSL端口應爲8081。 大師 02-12-2011,上午01時42分從 阿帕奇關掉80端口或ltespeed 並打開nginxcp爲端口80

1

在我的情況是,阿帕奇已安裝並使用的端口;所以我只是做:

killall -9 apache2 

也許在你的情況是另一種軟件,可以使用這個命令來檢查哪些端口正在偵聽請願

netstat -a | egrep 'Proto|LISTEN'