Apache 伺服器沒有回應。它只是加載然後給出超時

Apache 伺服器沒有回應。它只是加載然後給出超時

我有一個 apache2 伺服器,並一直試圖讓所有人都可以存取它,但我無法做到這一點。以下是輸出:

$ netstat -plant | grep apache
tcp        0      0 0.0.0.0:80              0.0.0.0:*               LISTEN    15647/apache2

早些時候它是 :::80,但我在 serverfualt.com 上看到另一篇文章後更改了它

$ ufw status
Status: inactive
$ service apache2 status
● apache2.service - The Apache HTTP Server
     Loaded: loaded (/lib/systemd/system/apache2.service; enabled; vendor preset: enabled)
     Active: active (running) since Sat 2021-08-28 18:33:05 UTC; 16min ago
       Docs: https://httpd.apache.org/docs/2.4/
    Process: 15625 ExecStart=/usr/sbin/apachectl start (code=exited, status=0/SUCCESS)
   Main PID: 15647 (apache2)
      Tasks: 55 (limit: 4617)
     Memory: 12.5M
     CGroup: /system.slice/apache2.service
             ├─15647 /usr/sbin/apache2 -k start
             ├─15648 /usr/sbin/apache2 -k start
             └─15649 /usr/sbin/apache2 -k start

Aug 28 18:33:05 localhost systemd[1]: Starting The Apache HTTP Server...
Aug 28 18:33:05 localhost systemd[1]: Started The Apache HTTP Server.

當我嘗試從瀏覽器訪問它時,它只是繼續加載,並且在某些時候出現site takes too long to respond錯誤。

請幫我解決它。另外,如果需要任何其他輸出,請通知我。

答案1

您已經檢查該服務是否正在執行。

嘗試從伺服器本身存取您的伺服器,以檢查服務是否可存取。一個足夠的檢查命令是 telnet 或curl,在伺服器運行的同一台機器上執行:

$ telnet localhost 80
$ curl -v http://localhost

如果工作正常,下一步是檢查伺服器上的防火牆是否開啟了連接埠 80 ufw。請同時檢查其他防火牆(例如您的伺服器提供者的防火牆)是否允許存取連接埠 80。

下一步是嘗試相同的操作,但要使用伺服器的公共 IP。要知道您的伺服器的公用 IP 位址的命令是echo $(curl -s ifconfig.me)。另一種方法是在 的輸出中搜尋它ip a

最後你應該檢查 DNS,例如。如果您的網域指向正確的IP。

相關內容