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