Apache无法重新启动


71

尝试使用以下命令从终端重新启动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'

6
在运行apache2 restart并得到该错误之后,运行sudo journalctl -xe该代码可以使您对发生的事情有更好的了解。如果您仍有理解的问题。将结果发布在这里。
grag42

好。那也没有帮助我。apache日志文件中包含什么。/var/log/apache2/error.log
grag42

@ grag42感谢您的建议,我运行了sudo journalctl -xe,发现那里存在一些重写规则问题,并已将其修复并立即运行。
Gautam Savaliya,2015年


3
@rancho:是什么让您相信这个问题是重复的?链接的问题包含一个非常具体的错误消息,我们在这里没有。目前尚不清楚OP问题的可能原因。
David Foerster'8

Answers:


61

也许这将有助于找到原因:

journalctl | tail

就我而言,这是配置文件中的一个错误:

AH00526: Syntax error on line 5 of /etc/apache2/sites-enabled/mydomain-wsf.lan.conf

6
No journal files were found.
Stevie G

5
@StevieG,尝试sudo journalctl | tail
Dherik 2015年


就我而言,我在apache2.config文件中也犯了一个错误
alamin

谢谢。我为新添加的站点conf输入了错误的目录。
Lynnell Emmanuel Neri

48

文件中存在语法错误apache2.conf

在终端中,键入:

cd /etc/apache2

然后:

apache2ctl configtest

它会显示apache2.conf文件中要纠正的错误。


1
tnx的绝佳方法,节省了我的时间
George Garchagudashvili

1
这是太棒了。
abalter

1
谢谢。redmine和PassengerResolveSymlinksInDocumentRoot选项是否有问题。
瓦迪姆(Vadim)

哈哈,以后执行:apache2ctl configtest有语法OK,但是当我运行apache2 --helpapache2: Syntax error on line 82 of /etc/apache2/apache2.conf: DefaultRuntimeDir must be a valid directory, absolute or relative to ServerRoot ,并在Apache的error.log中没有错误!
Vladimir Ch

在仔细查看/etc/apache2/sites-enabled/dir之后,我注意到我有文件,而不是象征性的linc到site.conf +重新启用mod php5.6(sudo a2dismod php5.6; sudo a2enmod php5.6)我的服务apache2已经启动,没有“ ohh- ahh”
弗拉基米尔·Ch

18

问题是因为某些配置文件被删除,您必须重新安装它。

重新安装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

1
您为什么认为某些配置文件已删除?
莱奥波德·赫兹(LéoLéopoldHertz)2016年

2

问题:

Job for apache2.service failed because the control process exited with error code. See "systemctl status apache2.service" and "journalctl -xe" for details.

解:

  • 要完全删除apache2配置文件,您应该:

    1) sudo apt-get purge apache2

  • 然后,您可以通过以下常规方式重新安装它:

    2) sudo apt-get install apache2

==>工作正常...

谢谢....


2

删除虚拟主机后出现相同的错误。问题是与位于中的该主机关联的SSL conf文件持续存在/etc/apache2/sites-enabled。SSL是通过“让我们加密”完成的,因此我要删除的代码是:

sudo rm yourdomain.com-le-ssl.conf

1

使用.htaccess时出现相同错误

我只是把这个命令

<Directory /var/www/html>
                Options Indexes FollowSymLinks MultiViews
                AllowOverride All
                Order allow,deny
                allow from all
</Directory>

/etc/apache2/sites-enabled/000-default.conf这个文件夹中

添加此后,我得到了错误

然后我从文件中删除这些命令的和平,我的错误已解决。


1

您很可能有语法错误。对我来说,它在我的“启用站点”文件夹中。

我将'ServerAlias'拼写为'ServerAlisa'。


我的文件夹拼错了。
Lynnell Emmanuel Neri

0

这主要是配置错误。我刚刚在apache上启用了一个旧站点,是什么导致了此错误。因此,我必须在重新加载apache之前将其禁用。

sudo a2dissite <my-site>
sudo service apache2 reload

问题解决了 :)


0

谢谢您的帮助!我能够使用解决方案正确安装:

要完全删除apache2配置文件,您应该:

  1. sudo apt-get purge apache2 然后,您可以通过以下常规方式重新安装它:

  2. sudo apt-get install apache 2

现在可以正常工作了。


0

我认为问题在于您启用了某些站点,但是删除了其配置文件。尝试使用sudo a2dissite“ name”禁用站点,然后重新启动apache服务器。至少这对我来说是问题所在,此举解决了这个问题。


0

在我的情况下,这样做之后该错误开始出现apt upgrade。玩了很多游戏之后,我去了以下目录以查看可以禁用的内容。

  • / etc / apache2 / mods-enabled- a2dismod (重新打开a2enconf
  • / etc / apache2 / conf-enabled- a2disconf (重新打开a2enconf

就我而言,我必须启用那些MODS。

在此处输入图片说明

似乎apt-upgrade必须删除/破坏了php7.2,因为一旦我禁用它并重新启动所有工作即可。当然,对于其他人而言,情况可能有所不同。当Apache崩溃时,它可能是错误的配置或错误的mod。您必须选择自己的战斗。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.