NginX 和 Plesk:502

NginX 和 Plesk:502

拥有 CentOS 和 Plesk 的服务器。按照此处描述的方式安装 nginx:http://gudym.net/plesk-nginx.html 但现在如果我去我的超级巨无霸网站我越来越

502 Bad Gateway
nginx/0.8.55

此错误似乎是因为 Apache 没有响应 NginX。但如果我mysupermegasite.com:8080我看到的是正确的页面。因此,Apache 似乎在 8080 端口上运行良好。并且在该指令中,Apache 应该位于 8080 端口!因此,这似乎是正确的。

此外

/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 获取页面。

我们来看一下错误日志六、/var/www/vhosts/mysupermegasite.com/statistics/logs/error_log.nginx

2012/02/07 07:35:29 [错误] 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 无法解析此主机?

出了什么问题?去哪里查找原因?

答案1

您的系统似乎无法解析此域名。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

相关内容