apache2.service 失败,因为控制进程退出并显示错误代码

apache2.service 失败,因为控制进程退出并显示错误代码

我使用的是 Ubuntu 15 64 位:

$ uname -a
Linux {hostname} 4.2.0-16-generic

我已经安装了apache2

$ sudo apt-get install -y apache2

我有一个mod_xxx.so,我已将其放入:/usr/lib/apache2/modules/。我将权限设置为755(rwx rx rx)。

我编辑了apache2.conf

$ sudo vi /etc/apache2/apache2.conf
AddHandler xxx-handler .xxx
LoadModule xxx_module modules/mod_xxx.so

我知道这是可行的,因为我之前已经在其他几台 Linux 机器上这样做过。

当我尝试重新启动 Apache 时,它​​失败并出现以下错误:

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

完成上面所说的后,systemctl status apache2.service它显示:

apache2.service - LSB: Apache2 web server
 Loaded: loaded (/etc/init.d/apache2)
 Active: failed (Result: exit-code) since Wed 2016-03-09 10:32:34 GMT; 9s ago
  Docs: man:systemd-sysv-generator(8)
Process: 3479 ExecStop=/etc/init.d/apache2 stop (code=exited, status=0/SUCCESS)
Process: 3503 ExecStart=/etc/init.d/apache2 start (code=exited, status=1/FAILURE)

Mar 09 10:32:34 Ubuntu14 apache2[3503]: *
Mar 09 10:32:34 Ubuntu14 apache2[3503]: * The apache2 configtest failed.
Mar 09 10:32:34 Ubuntu14 apache2[3503]: Output of config test was:
Mar 09 10:32:34 Ubuntu14 apache2[3503]: apache2: Syntax error on line 224 of...y
Mar 09 10:32:34 Ubuntu14 apache2[3503]: Action 'configtest' failed.
Mar 09 10:32:34 Ubuntu14 apache2[3503]: The Apache error log may have more i....
Mar 09 10:32:34 Ubuntu14 systemd[1]: apache2.service: Control process exite...=1
Mar 09 10:32:34 Ubuntu14 systemd[1]: Failed to start LSB: Apache2 web server.
Mar 09 10:32:34 Ubuntu14 systemd[1]: apache2.service: Unit entered failed state.
Mar 09 10:32:34 Ubuntu14 systemd[1]: apache2.service: Failed with result 'e...'.
Hint: Some lines were ellipsized, use -l to show in full.

所以我试图到处搜索LoadModule指定的位置。所以我尝试这样做:

$ sudo grep "LoadModule" /

我也尝试过这个:

sudo find / -type f grep -l "LoadModule"

还是没有运气。

LoadModule指定在哪里Apache 2.4.12

我知道Apache 2.4.7,它在apache.conf文件中,我在这里使用了与新版本中使用的相同的逻辑。

这是在虚拟机上完成的,因此如果确实发生错误,我可以清理机器并重新启动。我也是root用户。

答案1

这里的问题是我必须使用:

sudo a2enmod xxx.load

然后它说重新启动Apache2。我这样做了,现在它正在发挥作用。

此版本的 Apache (2.4.12) 的工作方式与 2.4.7 的工作方式不同,因此我必须做一些不同的事情。

答案2

我已经解决了这个问题。

$ sudo service apache2 start

apache2.service 的作业失败,因为控制进程退出并出现错误代码。有关详细信息,请参阅“systemctl status apache2.service”和“journalctl -xe”。

apache2.service Failedbecause the Control Process Exited with Error Code and apache2 服务激活:失败完美解决方案。

$ systemctl restart apache2
$ journal -xe 
$ sudo apt-get purge apache2
$ sudo apt autoremove apache2
$ sudo apt-get purge apache2
$ sudo apt-get purge apache2*
$ sudo apt-get install apache2
$ sudo service apache2 start

相关内容