Apache无法重新启动

Gau*_*iya 113 apache2 restart

尝试使用以下命令从终端重新启动 apache:

 sudo service apache2 restart
Run Code Online (Sandbox Code Playgroud)

执行该命令时出现以下错误:

Job for apache2.service failed. See "systemctl status apache2.service" and "journalctl -xe" for details.
Run Code Online (Sandbox Code Playgroud)

在执行“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)
Run Code Online (Sandbox Code Playgroud)

阿帕奇错误.log

AH00489: Apache/2.4.12 (Unix) configured -- resuming normal operations
AH00094: Command line: '/usr/local/apache2/bin/httpd'
Run Code Online (Sandbox Code Playgroud)

ran*_*cho 93

文件中有一些语法错误apache2.conf

在终端中,键入:

cd /etc/apache2
Run Code Online (Sandbox Code Playgroud)

然后:

apache2ctl configtest
Run Code Online (Sandbox Code Playgroud)

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

  • 大声笑,执行后:`apache2ctl configtest` 语法正常,但是当我运行 `apache2 --help` 时得到 `apache2:/etc/apache2/apache2.conf 第 82 行的语法错误:DefaultRuntimeDir 必须是有效目录,绝对或相对于 ServerRoot` 并且在 apache error.log 中没有错误! (4认同)
  • 很棒的方法 tnx,节省了我的时间 (2认同)

小智 83

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

journalctl | tail
Run Code Online (Sandbox Code Playgroud)

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

AH00526: Syntax error on line 5 of /etc/apache2/sites-enabled/mydomain-wsf.lan.conf
Run Code Online (Sandbox Code Playgroud)

  • `没有找到日志文件。` (6认同)
  • @StevieG,试试`sudo journalctl | 尾巴` (5认同)

小智 31

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

重新安装 APACHE2:

要替换已删除的配置文件,而不清除包,您可以执行以下操作:

sudo apt-get -o DPkg::Options::="--force-confmiss" --reinstall install apache2
Run Code Online (Sandbox Code Playgroud)

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

sudo apt-get purge apache2
Run Code Online (Sandbox Code Playgroud)

这将让您以通常的方式重新安装它:

sudo apt-get install apache2
Run Code Online (Sandbox Code Playgroud)

删除所有配置文件需要清除 - 如果您删除配置文件但只删除包,那么会记住这一点并且默认情况下不会重新安装丢失的配置文件。

然后重新安装 PHP5:

apt-get purge libapache2-mod-php5 php5 && \
apt-get install libapache2-mod-php5 php5
Run Code Online (Sandbox Code Playgroud)

  • 您认为为什么删除了一些配置文件? (2认同)

小智 6

问题:

Job for apache2.service failed because the control process exited with error code. See "systemctl status apache2.service" and "journalctl -xe" for details.
Run Code Online (Sandbox Code Playgroud)

解决方案:

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

    1)sudo apt-get purge apache2

  • 然后您可以按照通常的方式重新安装它:

    2)sudo apt-get install apache2

==> 效果很好...

谢谢....


小智 5

删除虚拟主机后,我遇到了同样的错误。问题是与位于/etc/apache2/sites-enabled. SSL 是通过 Let's Encrypt 实现的,所以我要删除的代码是:

sudo rm yourdomain.com-le-ssl.conf
Run Code Online (Sandbox Code Playgroud)