rfc*_*484 46 apache port netstat kill
更新:已经修复,似乎其中一个VirtualHosts配置文件在启用站点时出错.
我有Ubuntu 11.10
当我运行命令启动apache2时:
sudo /etc/init.d/apache2 start
Run Code Online (Sandbox Code Playgroud)
我收到以下错误消息:
启动Web服务器apache2
apache2:无法可靠地确定服务器的完全限定域名,使用127.0.1.1 for ServerName(98)已在使用的地址:make_sock:无法绑定到地址0.0.0.0:80没有可用的侦听套接字,关闭无法打开日志操作'开始'失败.
我运行此命令以获取使用端口80的进程:
sudo netstat -ltnp | grep ':80'
Run Code Online (Sandbox Code Playgroud)
返回此输出:
tcp6 0 0 :::80 :::* LISTEN 1176/
Run Code Online (Sandbox Code Playgroud)
要知道我运行此命令的进程:
ps -wlp1176
Run Code Online (Sandbox Code Playgroud)
返回:
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
Run Code Online (Sandbox Code Playgroud)
但如果我试图杀死这个过程:
sudo kill -9 1176
Run Code Online (Sandbox Code Playgroud)
它不会杀死它,如果我再次运行netstat命令仍然显示监听和apache启动失败.
有什么建议?
小智 111
为我运行此命令工作:
fuser -k -n tcp 80
Run Code Online (Sandbox Code Playgroud)
小智 5
我有同样的错误,只想确认运行
sudo netstat -ltnp | grep ':80'
Run Code Online (Sandbox Code Playgroud)
帮助我指出,Hiawatha Web服务器妨碍了Apache2。
删除Hiawatha可解决此问题(sudo dpkg --purge hiawatha)。Ubuntu 12.04.2服务器。
小智 5
我有同样的问题
对我来说,apache 已经在运行,但运行方式错误。
杀死进程不起作用,因为守护进程不断重新实例化它。
apachectl stop
Run Code Online (Sandbox Code Playgroud)
解决了这个问题。
使用任一
sudo killall httpd
Run Code Online (Sandbox Code Playgroud)
或者
sudo killall apache2
Run Code Online (Sandbox Code Playgroud)
检查是否有人使用80端口
sudo netstat -tulpn| grep :80
Run Code Online (Sandbox Code Playgroud)
重启
sudo service httpd start
Run Code Online (Sandbox Code Playgroud)
然后重新启动服务器。我花了一整天才明白这个问题