Ubuntu系統Apache2安裝後無法啟動,報錯apache2.service: Control process exited, code=exited status=1
阿新 • • 發佈:2022-05-09
準備安裝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 May09 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
我用的是阿里雲伺服器,所以想要設定外網可訪問,還需要進入阿里雲平臺,在安全組規則中新增該埠的訪問許可權,設定好後即可外網訪問。