尝试使用以下命令从终端重新启动 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)
阿帕奇error.log
:
AH00489: Apache/2.4.12 (Unix) configured -- resuming normal operations
AH00094: Command line: '/usr/local/apache2/bin/httpd'
答案1
文件中存在一些语法错误apache2.conf
。
在终端中输入:
cd /etc/apache2
然后:
apache2ctl configtest
apache2.conf
它会告诉您需要纠正文件中的错误位置。
答案2
也许这有助于找到原因:
journalctl | tail
就我而言,这是配置文件中的一个错误:
AH00526: Syntax error on line 5 of /etc/apache2/sites-enabled/mydomain-wsf.lan.conf
答案3
该问题是由于一些配置文件被删除,您必须重新安装它。
重新安装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
答案4
删除虚拟主机后,我遇到了同样的错误。问题在于与位于 的该主机关联的残留 SSL conf 文件/etc/apache2/sites-enabled
。SSL 是通过 Let's Encrypt 进行的,因此我要删除的代码是:
sudo rm yourdomain.com-le-ssl.conf