尝试利用 rails 自家的 thin server 配合 nginx 来部署网站,启动 nginx 后,出现 502 bad gateway 错误,以下是 error.log 中相关信息:
2013/03/03 02:22:24 [crit] 23032#0: *1 connect() to unix:///var/www/discourse/tmp/sockets/thin.3.sock failed (2: No such file or directory) while connecting to upstream, client: 125.88.73.76, server: meta.discourse.org, request: "GET / HTTP/1.1", upstream: "http://unix:///var/www/discourse/tmp/sockets/thin.3.sock:/", host: "www.arise.biz" 2013/03/03 02:22:24 [crit] 23032#0: *1 connect() to unix:///var/www/discourse/tmp/sockets/thin.2.sock failed (2: No such file or directory) while connecting to upstream, client: 125.88.73.76, server: meta.discourse.org, request: "GET / HTTP/1.1", upstream: "http://unix:///var/www/discourse/tmp/sockets/thin.2.sock:/", host: "www.arise.biz" 2013/03/03 02:22:24 [crit] 23032#0: *1 connect() to unix:///var/www/discourse/tmp/sockets/thin.1.sock failed (2: No such file or directory) while connecting to upstream, client: 125.88.73.76, server: meta.discourse.org, request: "GET / HTTP/1.1", upstream: "http://unix:///var/www/discourse/tmp/sockets/thin.1.sock:/", host: "www.arise.biz" 2013/03/03 02:22:24 [crit] 23032#0: *1 connect() to unix:///var/www/discourse/tmp/sockets/thin.0.sock failed (2: No such file or directory) while connecting to upstream, client: 125.88.73.76, server: meta.discourse.org, request: "GET / HTTP/1.1", upstream: "http://unix:///var/www/discourse/tmp/sockets/thin.0.sock:/", host: "www.arise.biz" 2013/03/03 02:22:28 [error] 23032#0: *1 no live upstreams while connecting to upstream, client: 125.88.73.76, server: meta.discourse.org, request: "GET / HTTP/1.1", upstream: "http://discourse/", host: "www.arise.biz"
这是 nginx 的配置文件内容,存放在 应用程序目录/config/nginx/sites-enabled 下, upstream discourse { server unix:///var/www/discourse/tmp/sockets/thin.0.sock; server unix:///var/www/discourse/tmp/sockets/thin.1.sock; server unix:///var/www/discourse/tmp/sockets/thin.2.sock; server unix:///var/www/discourse/tmp/sockets/thin.3.sock; }
server {
listen 80; gzip on; gzip_min_length 1000; gzip_types application/json text/css application/x-javascript;
server_name meta.discourse.org;
sendfile on;
keepalive_timeout 65;
location / { root /var/www/discourse/public; location ~ ^/t\/[0-9]+\/[0-9]+\/avatar { expires 1d; add_header Cache-Control public; add_header ETag ""; }
location ~ ^/assets/ { expires 1y; add_header Cache-Control public; add_header ETag ""; break; }
proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header Host $http_host;
# If the file exists as a static file serve it directly without # running all the other rewite tests on it if (-f $request_filename) { break; }
if (!-f $request_filename) { proxy_pass http://discourse; break; }
}
请问如何修复这些错误?谢谢!