Apache-2.2

NginX 和 Plesk:502

  • February 25, 2015

擁有 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

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