更新:已经修复,似乎其中一个VirtualHosts配置文件在启用网站时出错。
我有Ubuntu 11.10
当我运行命令启动apache2时:
sudo /etc/init.d/apache2 start
我收到以下错误消息:
启动Web服务器apache2
apache2:无法可靠地确定服务器的完全限定 域名,使用127.0.1.1 for ServerName(98)地址已经在 use:make_sock:无法绑定到地址0.0.0.0:80没有收听 可用的套接字,关闭无法打开日志操作'开始' 失败。
我运行此命令以获取使用端口80的进程:
sudo netstat -ltnp | grep ':80'
返回此输出:
tcp6 0 0 :::80 :::* LISTEN 1176/
要知道我运行此命令的进程:
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启动失败。
有什么建议吗?
答案 0 :(得分:109)
为我运行此命令:
fuser -k -n tcp 80
答案 1 :(得分:16)
使用端口80可能是skype或nginx。
尝试关闭Skype或运行:sudo /etc/init.d/nginx stop
答案 2 :(得分:4)
我遇到了同样的错误,只想确认正在运行
sudo netstat -ltnp | grep ':80'
帮助我指出Hiawatha网络服务器阻碍了Apache2。
删除Hiawatha修复了问题(sudo dpkg --purge hiawatha)。 Ubuntu 12.04.2服务器。
答案 3 :(得分:4)
我遇到了同样的问题
对我来说,apache已经在运行,但运行方式错误。
杀戮进程无法正常工作,因为守护进程不断重新实现它。
apachectl stop
解决了这个问题。
答案 4 :(得分:2)
试试这个,它对我有用......
sudo netstat -ltnp | grep ':80'
这将返回以下内容:
tcp6 0 0 :::80 :::* LISTEN 1047/apache2
然后
sudo kill -9 1047
然后我能够重启Apache,一切正常。
答案 5 :(得分:1)
转到设备管理器,从菜单/视图中选择“显示隐藏的设备”,转到“非即插即用驱动程序”/ HTTP,双击它以禁用它(并禁用或手动依赖它的某些服务)。 重启并享受!
答案 6 :(得分: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文件中的内容。它为我做了诀窍,重新启动和杀死进程根本没有帮助。它无论如何都没有开始。
答案 7 :(得分:1)
看起来其他进程正在使用端口80。
$ netstat -anp | grep
例如。 $ netstat -anp | grep 80
上面你得到进程名称,如果你想使用端口,那么你需要停止进程或更改端口
答案 8 :(得分: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
答案 9 :(得分:0)
我使用以下程序修复它。 以root用户身份运行以下命令。
root# ps aux |grep apache
它将向您显示Apache PID,只需终止该PID并重启Apache Server。
答案 10 :(得分:0)
您只能在.conf的一个文件中收听PORTNUMBER。不要把它放在多个文件中。试试吧:))
答案 11 :(得分:0)