Ubuntu

apache2.service 失敗,因為控制程序以錯誤程式碼退出

  • September 1, 2020

我正在使用 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

我知道 in Apache 2.4.7,它在apache.conf文件中,我在這裡使用的邏輯與我在較新版本中使用的邏輯相同。

這是在虛擬機上完成的,所以如果確實發生錯誤,我可以清理機器並重新啟動。我也是root使用者。

這裡的問題是我必須使用:

sudo a2enmod xxx.load

然後它說重新啟動Apache2。我這樣做了,現在它正在工作。

這個版本的 Apache (2.4.12) 與 2.4.7 的工作方式不同,所以我不得不做一些不同的事情。

我已經解決了這個問題。

$ sudo service apache2 start

apache2.service 的作業失敗,因為控制程序以錯誤程式碼退出。有關詳細資訊,請參閱“systemctl status apache2.service”和“journalctl -xe”。

apache2.service Failed because the Control Process Exited with Error Code and apache2 service activation:failed 完美解決方案。

$ 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

引用自:https://unix.stackexchange.com/questions/268613