如何調試 Apache,而不是在啟動時啟動

如何調試 Apache,而不是在啟動時啟動

Apache 已經設定為服務,因為:

$ sudo update-rc.d apache2 defaults
 System start/stop links for /etc/init.d/apache2 already exist.

但 Apache 沒有啟動。我如何開始調試出現的問題?

我正在運行 Linux Mint,所以有 Debian 風格。

答案1

首先查看錯誤日誌tail -15 /var/log/apache2/error.log

如果這沒有給出連接埠不可用等提示,請執行apache2ctl -t以測試您的配置。

如果您的配置良好,請檢查是否有任何進程已綁定到連接埠 80 或 443(這可能是您希望 apache 使用的連接埠)。輸出的最後一列將是 $PID/$process_name。

   sudo netstat -tlpne | egrep ':(80|443)'

或者,查看 Apache 是否正在運行但正在偵聽其他連接埠...

  sudo netstat -tlpne | grep apache

如果您現在還沒有解決這個問題,那麼檢查 Apache 是否配置為您期望的網域也沒有什麼壞處,因此請執行一下apache2ctl -S,您應該會看到已配置網域的清單。如果您的網域/連接埠組合未在那裡列出,您需要整理您的配置。

還有更多,但這些將揭示許多常見的配置問題。

答案2

您應該能夠透過追蹤系統和 apache 日誌來判斷。通常位於/var/日誌/訊息//var/log/httpd|apache2/分別。然後使用提供的訊息進行故障排除。

答案3

你試試看:

sudo update-rc.d apache2 enable

相關內容