2011-01-30 51 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'