1. 程式人生 > 其它 >Ubuntu系統Apache2安裝後無法啟動,報錯apache2.service: Control process exited, code=exited status=1

Ubuntu系統Apache2安裝後無法啟動,報錯apache2.service: Control process exited, code=exited status=1

準備安裝apache服務的時候,出現了服務啟動失敗的情況,仔細檢視問題原因找到了解決辦法。

一、問題:

安裝完apache伺服器後,自動啟動時報錯。擷取報錯原因為:

May 09 14:54:30 cloudmarvin apachectl[24982]: AH00558: apache2: Could not reliably determine the server's fully qualified domain name, us                              
ing xxx.xxx.xxx.xxx Set the 'ServerName' directive globally to suppress this message
May 
09 14:54:30 cloudmarvin apachectl[24982]: (98)Address already in use: AH00072: make_sock: could not bind to address [::]:80 May 09 14:54:30 cloudmarvin apachectl[24982]: (98)Address already in use: AH00072: make_sock: could not bind to address 0.0.0.0:80 May 09 14:54:30 cloudmarvin apachectl[24982]: no listening sockets available, shutting down

2、原因及解決辦法:

通過錯誤程式碼可以瞭解到,apache服務預設啟用的80埠被佔用了,導致的無法啟用。一種方案是找到佔用埠的服務並殺掉程序,另一種方案是調整apache預設埠,我們分別使用這兩種方式解決下。

1)找到程序並kill掉,然後重啟Apache服務

   netstat 命令引數含義:

  -l:僅顯示監聽套接字(所謂套接字就是使應用程式能夠讀寫與收發通訊協議(protocol)與資料的程式)

  -n:不進行DNS輪詢(可以加速操作)

  -p:顯示程序

  netstat -lnp 常用來檢視監聽埠(檢視網路連線情況)

殺掉程序:

kill -9 16665

重啟apache服務:

sudo service apache2 start

2)修改預設埠

vi /etc/apache2/ports.conf

編輯配置檔案,修改預設埠號80為81(根據個人情況設定)後儲存

重啟apache服務

sudo service apache2 start

我用的是阿里雲伺服器,所以想要設定外網可訪問,還需要進入阿里雲平臺,在安全組規則中新增該埠的訪問許可權,設定好後即可外網訪問。