问题描述
尝试使用以下命令从终端重新启动apache:
sudo service apache2 restart
执行该命令时遇到以下错误:
Job for apache2.service failed. See "systemctl status apache2.service" and "journalctl -xe" for details.
在激活“systemctl status apache2.service”得到以下输出
apache2.service - (null)
Loaded: loaded (/etc/init.d/apache2)
Active: failed (Result: exit-code) since Sat 2015-05-30 02:22:41 IST; 12s ago
Docs: man:systemd-sysv-generator(8)
Process: 4866 ExecStart=/etc/init.d/apache2 start (code=exited, status=1/FAILURE)
apache error.log
AH00489: Apache/2.4.12 (Unix) configured -- resuming normal operations
AH00094: Command line: '/usr/local/apache2/bin/httpd'
最佳解决思路
也许这有助于找到原因:
journalctl | tail
就我而言,配置文件中存在错误:
AH00526: Syntax error on line 5 of /etc/apache2/sites-enabled/mydomain-wsf.lan.conf
次佳解决思路
文件apache2.conf中存在一些语法错误
在终端类型:
cd /etc/apache2
然后 :
apache2ctl configtest
它将向您显示要更正的apache2.conf文件中的错误。
第三种解决思路
问题是因为某些配置文件被删除,您必须重新安装它。
重新安装APACHE2:
要替换已删除的配置文件而不清除程序包,您可以执行以下操作:
sudo apt-get -o DPkg::Options::="--force-confmiss" --reinstall install apache2
要完全删除apache2配置文件,您应该:
sudo apt-get purge apache2
这将允许您以通常的方式重新安装它:
sudo apt-get install apache2
清除是删除所有配置文件所必需的 – 如果删除配置文件但只删除包,那么这将被记住&默认情况下不会重新安装丢失的配置文件。
然后重新安装PHP5:
apt-get purge libapache2-mod-php5 php5 && \
apt-get install libapache2-mod-php5 php5
第四种思路
删除虚拟主机后,我收到了同样的错误。问题是与位于/etc/apache2/sites-enabled
中的主机关联的延迟SSL conf文件。 SSL是通过Let的加密,所以删除的代码是:
sudo rm yourdomain.com-le-ssl.conf