Nginx

Apache2 預設頁面而不是 nginx 預設頁面

  • August 5, 2016

我按照本教程使用 Nginx、Gunicorn 和 Ubuntu 設置了 Django 本地伺服器:https ://www.digitalocean.com/community/tutorials/how-to-set-up-django-with-postgres-nginx-and-gunicorn -on-ubuntu-14-04

我在本地網路上對其進行了測試並且工作正常,如果我從網路上的任何電腦訪問 192.168.0.101 我能夠看到 Nginx 預設頁面,如果我進入 192.168.0.101:8000 我能夠看到我的 Django應用程序,但是今天我將伺服器放在帶有新路由器的新本地網路中的新位置並再次對其進行測試,我輸入了分配的 IP 192.168.0.102:8000 並且 Django 應用程序載入正常,但隨後我嘗試訪問 192.168 .0.102 並且預設頁面來自 Apache2 Ubuntu 預設頁面而不是 Nginx 歡迎預設頁面,如果我的伺服器在 Nginx 和 Gunicorn 上執行良好,為什麼會發生這種情況?

此外,我無需配置即可使用任何電腦(Windows、Mac OS X、Mint)的主機名訪問伺服器,但現在我只能通過 WiFi 使用主機名訪問,嘗試使用乙太網連接訪問無法解析主機名。

我希望你能幫助我並解釋為什麼會發生這種情況以及如何解決它。

根據您提到的參考頁面,您似乎已將 Nginx 服務安裝到單個 IP 地址。如果您按照指南進行操作,您目前的 Nginx 配置如下:

server {
   listen 80;
   server_name 192.168.0.101;
   ...

因此 Nginx 服務在埠 80 上使用 IP 192.168.0.101 進行偵聽。但是您有一個新的 IP 地址 - 192.168.0.102 所以它無法匹配。

預設情況下,Apache 服務將使用所有可用的 IP 地址偵聽埠 80。所以你得到了 Apache 的預設頁面,而不是 Nginx 的預設頁面。

將 Nginx 設置更改為此應該可以工作:

server {
   listen 80;
   server_name 192.168.0.102;
   ....

然後,通過以下方式停止 Apache 服務並重新啟動 Nginx 服務:

service httpd stop
service nginx restart

您應該可以通過http://192.168.0.102再次看到您的 Nginx 網頁

引用自:https://serverfault.com/questions/794974