Ubuntu
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
?我知道 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