歡迎來到 Nginx!而不是網站

歡迎來到 Nginx!而不是網站

我希望這是發布此內容的正確位置。

我有一個託管多個網站的 CentOS 6 VPS。目前有三個現有站點在其上運行得很好,但我現在正在嘗試添加第四個站點,並且總是收到“歡迎來到 Fedora 上的 nginx!”當我造訪 URL 時出現歡迎頁面(我們稱之為 nginxFail.com)。

我將 test.txt 檔案放在 /home/nginxFail/www 中,並嘗試造訪 nginxFail.com/test.txt。它拋出了 403。

我已經嘗試過的:

-驗證網域資訊:新網域名稱和其他三個網域的網域資訊完全相同,包括SPF資訊。新域名大約有 5 天的傳播時間。

-驗證httpd.conf:這是我所擁有的:

<VirtualHost *:80>
    DocumentRoot /home/**nginxFail**/www
    ServerName **nginxFail.com**
    ServerName **<my server IP>**
    ErrorLog /var/log/httpd/**<errorLog>**
    CustomLog /var/log/httpd/access_log combined
<Directory "/home/**nginxFail**/www">
Options +Indexes FollowSymLinks +ExecCGI
Order allow,deny
allow from all
</Directory>
</VirtualHost>

當然,粗體的條目是我的實際訊息。這與該文件中使其他三個站點正常工作的其他條目完全相同。

這裡還有壓縮的 /etc/nginx/nginx/conf:

user              nginx;
worker_processes  1;

error_log  /var/log/nginx/error.log;
#error_log  /var/log/nginx/error.log  notice;
#error_log  /var/log/nginx/error.log  info;

pid        /var/run/nginx.pid;

http {
    include       /etc/nginx/mime.types;
    default_type  application/octet-stream;

    log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
                      '$status $body_bytes_sent "$http_referer" '
                      '"$http_user_agent" "$http_x_forwarded_for"';

    access_log  /var/log/nginx/access.log  main;

    sendfile        on;
    #tcp_nopush     on;

    #keepalive_timeout  0;
    keepalive_timeout  65;

    #gzip  on;

    # Load config files from the /etc/nginx/conf.d directory
    include /etc/nginx/conf.d/*.conf;

    #
    # The default server
    #
    server {
        listen       80;
        server_name  _;

        #charset koi8-r;

        #access_log  logs/host.access.log  main;

        location / {
            root   /usr/share/nginx/html;
            index  index.html index.htm;
        }

        error_page  404              /404.html;
        location = /404.html {
            root   /usr/share/nginx/html;
        }

        # redirect server error pages to the static page /50x.html
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   /usr/share/nginx/html;
        }
    }
}

- 重新啟動伺服器(和/etc/init.d/httpd)。沒有運氣。

-嘗試另一台機器:我讀到,nginx 的問題可能是由病毒或主機檔案造成的。我的機器總是乾淨的(不斷進行病毒掃描,不信任瀏覽器運行的錯誤掃描,哈哈),而且我的主機檔案看起來很乾淨。只是為了好玩,我嘗試在另一台電腦上甚至在我的手機上訪問該網站,我得到了相同的 nginx 頁面。

-Google:它讓我失望了! :o,這就是我了解瀏覽器清理的方式。

-驗證權限:在我的伺服器上,所有網站都列在 /home/ 目錄中各自的資料夾中。這也是我放置新網站條目的地方。正如之前所說,其他三個網站工作正常,因此這不是 /home/ 的權限問題,而且我已確保 home/nginxFail/www 有 755 (就像其他工作網站一樣)。

-查看 /etc/nginx/ 目錄:我注意到沒有啟用網站的目錄。我在另一個問題中看到這可能是原因,但如果是這樣的話,為什麼其他 3 個網站可以正常工作?

-查看日誌:除了確認 Web 伺服器正在取得 HTTP 請求並拋出 403 之外,我在 var/log 中沒有真正找到任何內容。訪問上面提到的 test.txt 檔案後,我查看了日誌目錄以了解 mod 日期的更改,以查看要查看哪些檔案。

-口頭告訴​​網站停止顯示 nginx 並請顯示我的網站:不走運。

- 在 /etc/nginx 中查看:我讀到那裡有一個網站可用目錄應該對我有幫助,但當我以 root 身份登入時我看不到它。

我在這裡有點不知所措。

編輯:我對這個問題做了一些更多的研究,看起來與 Apache 和 nginx 的奇怪衝突是罪魁禍首。

該網站運行 Apache 2.2.23,並且似乎也安裝了 nginx,這可能是錯誤的。我收到的 403 頁面表明 Apache 已啟動,但出於某種原因,進入網域本身會讓我轉向 nginx。我的自然想法是用 停止 nginx /etc/init.d/nginx -s stop。當我這樣做並返回 nginxfail.com 時,nginx 頁面仍然顯示。當我這樣做時,ps -ef | grep nginx即使我停止了 nginx 進程,我也可以看到它正在運行,據我所知,伺服器上不應該有任何腳本自動重新啟動它。

這就是有趣的地方,當我這樣做時/etc/init.d/httpd stop,所有 4 個站點都會死掉,包括 nginxfail.com 和其他 3 個工作站點,當我重新打開 httpd 時,會出現第一篇文章中的相同情況。

我查看了 /etc/httpd/error_log 並收到錯誤 Client returned by server configuration: /home/nginxfolder/www/ 並驗證了權限,因此 Web 伺服器(我很確定在本例中是 Apache)似乎尋找正確的位置。

如果這很模糊並且不能很好地說明我的設置,我很抱歉。還有其他有幫助的具體資訊嗎?

相關內容