我有一个使用Puma在Nginx上运行的rails应用程序,就像发条一样,应用程序每隔几天就会出现502 Bad Gateway错误。
我的nginx日志包含很多这样的错误:
2015/07/23 14:43:49 [error] 14044#0: *7036 connect() to unix:///var/www/myapp/myapp_app.sock failed (111: Connection refused) while connecting to upstream, client: 12.123.12.12, server: myapp.com, request: "GET /arrangements HTTP/1.1", upstream: "http://unix:///var/www/myapp/myapp_app.sock:/arrangements", host: "myapp.com", referrer: "http://myapp.com/arrangements"
我必须重新启动Puma,一切都会再次运作......几天。
我有什么想法可以排除故障吗?我是nginx和puma的新手。
/etc/nginx/sites-enabled/myapp.com
upstream myapp {
server unix:///var/www/myapp/myapp_app.sock;
}
server {
listen 80;
server_name myapp.com;
root /var/www/myapp/current/public;
client_max_body_size 20M;
location ~ \.php$ {
try_files $uri =404;
fastcgi_pass unix:/var/run/php5-fpm.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
allow all;
satisfy any;
}
location / {
proxy_pass http://myapp; # match the name of upstream directive which is defined above
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
location ~* ^/assets/ {
# Per RFC2616 - 1 year maximum expiry
expires 1y;
add_header Cache-Control public;
# Some browsers still send conditional-GET requests if there's a
# Last-Modified header or an ETag header even if they haven't
# reached the expiry date sent in the Expires header.
add_header Last-Modified "";
add_header ETag "";
break;
}
}
答案 0 :(得分:4)
DigitalOcean网络团队发现了NYC3内许多网络交换机上运行固件的问题。 此问题导致间接丢失与客户飞沫的连接。
虽然仅在机架子集中确认了该问题,但我们将升级在NYC3中运行受影响固件的所有交换机。随着各个交换机的升级,这种维护将导致维护窗口内某个点的每个机架停机时间大约为10分钟。
维护窗口: 2015-08-27 22:00 EDT - 2015-08-28 02:00 EDT 2015-08-28 02:00 UTC - 2015-08-28 06:00 UTC
对于给您带来的不便表示歉意,感谢您在我们努力提高网络可靠性时的耐心等待。
我会给它一两天,看看你遇到的问题是否已经复发,或者只是自己消失了。
<强>添加/编辑的强>
P.S。我刚刚注意到电子邮件中的详细信息,
受影响的水滴: railsbox00
如果您收到电子邮件,那么您的Droplet会受到固件问题的影响。检查您的电子邮件,看看他们是否列出了您的VPS;它位于电子邮件的底部。
答案 1 :(得分:2)
我不知道这个问题是否仍然相关,但是对于这个确切的问题有什么帮助我将puma.sock
文件的实际位置移动到另一个目录。我选择了/tmp
目录。
套接字曾经在NFS安装到另一台服务器的驱动器上,我相信 是问题 - 在这里和那里的网络中有些小问题。我不确定它究竟是什么,但自从我将puma.sock
移到/tmp
后,所有问题都消失了。对我来说。