2012-04-15 103 views
40

更新:已经修复,似乎虚拟主机配置文件中的一个配置文件在启用网站时出错。启动apache失败(无法绑定到地址0.0.0.0:80)

我的Ubuntu 11.10

当我运行命令来启动Apache2:

sudo /etc/init.d/apache2 start 

我收到以下错误信息:

启动Web服务器的apache2
的Apache2:莫非不能可靠地确定服务器的完全合格的 域名,使用127.0.1.1作为ServerName(98)地址已在 使用:make_sock:无法绑定到地址0.0.0.0:80无法收听 套接字可用,关闭无法打开日志操作'开始' 失败。

sudo netstat -ltnp | grep ':80' 

它返回的输出::

tcp6  0  0 :::80     :::*     LISTEN  1176/ 

要知道哪些进程正在运行此

我为了得到进程正在使用的端口80上运行此命令命令:

ps -wlp1176 

返回:

F S UID PID PPID C PRI NI ADDR SZ WCHAN TTY   TIME CMD 
5 D 33 1176  1 0 80 0 -  0 exit ?  00:00:00 apache2 

但是,如果我试图杀掉该进程:

sudo kill -9 1176 

它不会杀死它,如果我再次运行netstat命令仍然出现听力和Apache启动失败。

有什么建议吗?

+2

那么,什么是PID 1176? ('ps -wlp1176') – geekosaur 2012-04-15 07:43:17

+0

5 D 33 1176 1 0 80 0 - 0 exit? 00:00:00 apache2 – rfc1484 2012-04-15 07:55:07

+0

那么,这是否对你有什么不良影响?提示:比较你试图开始。 – geekosaur 2012-04-15 07:57:52

回答

100

为我工作运行此命令:

fuser -k -n tcp 80 
+0

在Debian 4.0.4中也为我工作。 – StandDuPp 2013-01-18 16:58:33

+14

这是在stackoverflow单个最大的职位。永远。 – 2013-12-16 03:40:10

+0

辉煌的一个班轮 – rakesh 2014-09-05 06:07:37

16

可能的Skype或nginx的使用端口80

尝试关闭Skype公司,或运行:sudo /etc/init.d/nginx stop

+3

谢谢,Skype是这里问题的罪魁祸首。 – JCM 2013-04-29 13:25:16

+0

谢谢! 'nginx'是问题所在。杀死它得到apache2开始 – 2016-07-27 00:27:45

4

我有同样的错误,只是想确认运行

sudo netstat -ltnp | grep ':80' 

帮我指出t帽子Hiawatha webserver受到Apache2的影响。

删除Hiawatha修复了这个问题(sudo dpkg --purge hiawatha)。 Ubuntu 12.04.2服务器。

1

试试这个,它为我的作品...

sudo netstat -ltnp | grep ':80' 

这将返回如下:

tcp6 0 0 :::80 :::* LISTEN 1047/apache2 

然后

sudo kill -9 1047 

然后我就能够重新启动Apache和一切工作正常。

1

转到设备管理器,从菜单/视图中选择“显示隐藏的设备”,转到“非即插即用驱动程序”/ HTTP,双击它将其禁用(并禁用或手动取决于它的某些服务) 。 重新启动并享受!

4

我有同样的问题

对我来说,Apache已经运行,但它运行错误的方式。

杀死进程并不奏效,因为守护进程会重新实例化它。

apachectl stop 

解决了这个问题。

0

这不会发生,因为Apache或端口的重复安装的被其他服务中使用

sudo lsof -i | grep "httpd" 

你会发现进程ID和监听服务的端口。然后检查

cd /proc/(process id of http) 

然后使用命令

kill -9 pid 

现在

sudo netstat -nltp 

再次杀死进程

语法杀死该进程: -

kill -9 pid 

现在启动Apache

sudo ./apachectl start 
+0

这为我工作!谢谢! – 2016-10-13 11:55:58

1

我会做的仅仅是检查以下为您/etc/apache2/sites-available/your-domain-name.com.conf设置

SSLEngine on 
SSLCertificateFile /your/path/to/your-domain.com.crt 
SSLCertificateKeyFile /your/path/to/your-domain.com.key 
SSLCACertificateFile /your/path/to/your-domain.com.ca-bundle 

并且没有错误的目录或任何其他不应该在您的.conf文件中的内容。它为我做了重新启动和杀死进程根本没有帮助的伎俩。无论如何,它并没有启动。

0

我用下面的程序修复了它。 以root用户身份运行以下命令。

root# ps aux |grep apache 

它会显示你的Apache PID,只是杀死该PID并重新启动Apache服务器。

1

它看起来像其他进程正在使用端口80

$ netstat -anp | grep 

如。 $ netstat -anp | grep 80

通过以上你进程名,如果你想使用的端口,那么你需要停止进程或更改端口

相关问题