無法啟動 apache HTTP 伺服器

無法啟動 apache HTTP 伺服器

在我的開發伺服器上推送我的 Laravel 專案後,我似乎無法再運行 apache 2。

運行命令列後:

sudo systemctl 狀態 apache2

我收到以下錯誤:

●apache2.service - Apache HTTP 伺服器已載入:已載入(/lib/systemd/system/apache2.service;已啟用;供應商預設:已啟用) 活動:自2020 年2 月3 日星期一起失敗(結果:退出代碼) 02: 17:48 世界標準時間; 1 分鐘 17 秒前流程:1631 ExecStart=/usr/sbin/apachectl start (code=exited, status=1/FAILURE)

在 Google 上搜尋了一下後,發現 apache 無法啟動,因為多個進程正在使用連接埠 80..

但是,運行命令列後:

須藤 lsof -i TCP:80

我得到以下進程的列表:

指令PID 使用者FD 類型設備大小/關閉節點名稱google_ne 716 root 7u IPv4 18497 0t0 TCP instance-development-webapp-eatology.c.webapp-eatology.internal:34086->metadata.google.internal:http(已建立)google _ac 717根 5u IPv4 18475 0t0 TCP 實例開發-webapp-eatology.c.webapp-eatology.internal:34082->metadata.google.internal:http(已建立) google_cl 719 根 5u IPv4 18478 0t0 .c.webapp-eatology.internal:34084->metadata.google.internal:http (已建立) google_cl 719 root 6u IPv4 18402 0t0 TCP 實例開發-webapp-eatology.c.webapp-eatology.internal:34080->元資料.google.internal:http (CLOSE_WAIT)

問題是,我不明白如何殺死這些進程中的每一個,我嘗試了很多命令列但沒有成功。

感謝您的幫助 !

答案1

跑步 :

netstat -tulpn | grep 80 

看看你所在的行:

Proto : tcp
Local address : *.*.*.*:80

取得 Pid 或進程名稱列值:

<pid_or_process_name>:80

使用 pid 或進程名稱殺死持有埠 80 的進程:

pkill -9 <process_name> 

或者

kill -9 <pid>

最後,這仍然是一個解決方法,您必須找出負責暴露連接埠 80 的進程並停用它,或者只是將其設定檔更改為指向不同的連接埠而不是 tcp/80,因為之後您將遇到相同的問題重新啟動。

相關內容