我在 VPS 上设置了一个服务器,通过 Nginx + Unicorn 提供生产 Rails 应用程序。目前这适用于以下 conf 文件:
但是,添加的子域staging.appname.tld
最终会在 中产生以下错误/var/log/nginx/error.log
:
2012/08/20 16:57:39 [error] 24673#0: *174 upstream timed out (110: Connection timed out) while reading response header from upstream, client: xxx.xxx.xxx.xxx, server: staging.appname.com, request: "GET / HTTP/1.1", upstream: "http://unix:/tmp/unicorn.appname_staging.sock:/", host: "staging.appname.com"
2012/08/20 16:58:17 [error] 24673#0: *178 upstream timed out (110: Connection timed out) while reading response header from upstream, client: xxx.xxx.xxx.xxx, server: staging.appname.com, request: "GET / HTTP/1.1", upstream: "http://unix:/tmp/unicorn.appname_staging.sock:/", host: "staging.appname.com"
2012/08/20 16:59:29 [error] 24673#0: *182 upstream timed out (110: Connection timed out) while reading response header from upstream, client: xxx.xxx.xxx.xxx, server: staging.appname.com, request: "GET / HTTP/1.1", upstream: "http://unix:/tmp/unicorn.appname_staging.sock:/", host: "staging.appname.com"
提供此错误的配置是:
此外,袜子确实存在!如果我们查看 /tmp/,我们会看到:unicorn.appname.sock
和unicorn.appname_staging.sock
这是输出。nginx -V
似乎配置中有什么东西关闭了,但我只是没有看到它。有人可以就此错误的来源以及如何在此上下文中正确设置子域(例如暂存环境)提出建议吗?
我在你的配置中没有看到任何错误,虽然有一些小的东西需要改进但不会破坏它。您能否激活调试日志记录并在此处发布日志。
请查看以下修改后的配置(激活调试日志记录)。