NginX 和 Plesk:502
擁有 CentOS 和 Plesk 的伺服器。正確安裝了 nginx,這裡是這樣描述的:http: //gudym.net/plesk-nginx.html 但是現在如果我去mysupermegasite.com我得到
502 Bad Gateway nginx/0.8.55
這個錯誤似乎是因為 Apache 沒有響應 NginX。但是,如果我訪問mysupermegasite.com:8080 ,我會看到正確的頁面。所以 Apache 似乎在 8080 埠上執行良好。在那個指令中,阿帕奇應該是 8080-th!所以這似乎是正確的。
也在
/var/www/vhosts/mysupermegasite.com/conf/nginx.conf 我看到:
server { listen 80; server_name mysupermegasite.com www.mysupermegasite.com ; error_log /var/www/vhosts/mysupermegasite.com/statistics/logs/error_log.nginx warn; location / { proxy_pass http://www.mysupermegasite.com:8080$request_uri; include /etc/nginx/proxy.conf; } location ~*/w3tc/* { proxy_pass http://www.mysupermegasite.com:8080$request_uri; include /etc/nginx/proxy.conf; } location ~* ^.+\.(jpg|jpeg|gif|png|css|zip|tgz|gz|rar|bz2|doc|xls|exe|pdf|ppt|txt|tar|wav|bmp|rtf|js|ico|swf)$ { root /var/www/vhosts/mysupermegasite.com/public_html; expires 7d; } }
所以…據我了解,它將 nginx 定向到 mysupermegasite.com:8080 以從 Apache 獲取頁面。
讓我們看看錯誤日誌vi /var/www/vhosts/mysupermegasite.com/statistics/logs/error_log.nginx
2012/02/07 07:35:29
$$ error $$11758#0:*1 mysupermegasite.com 無法解析(110:操作超時),客戶端:89.112.11.xx,伺服器:mysupermegasite.com,請求:“GET / HTTP/1.1”,主機:“mysupermegasite. com"
好的,它無法解析此域。買為什麼?我什至添加了
127.0.0.1 mysupermegasite.com
到*/etc/hosts*文件
如果我嘗試
wget mysupermegasite.com:8080
它下載頁面。但是為什麼 NginX 不能解析這個主機呢?
怎麼了?去哪裡找原因?
似乎您的系統無法解析此域。nginx 不使用
/etc/hosts
文件來解析域。檢查是否/etc/resolv.conf
包含正確的名稱伺服器。我建議您明確指定 IP 地址或localhost
:location / { proxy_pass http://localhost:8080; }
或者您可以為知道此域的 nginx 指定更好的解析器,而不是來自以下位置的解析器
/etc/resolv.conf
:resolver 192.0.2.1;
您可以檢查解析器是否知道域:
# dig mysupermegasite.com @192.0.2.1