【发布时间】:2017-04-26 23:03:47
【问题描述】:
我正在尝试关注这篇文章: https://www.digitalocean.com/community/tutorials/how-to-deploy-a-rails-app-with-puma-and-nginx-on-ubuntu-14-04
使用全新的 Amazon Linux EC2 实例。我正在使用开箱即用的 /etc/nginx/nginx.conf 文件,并将我的配置文件添加到 /etc/nginx/sites-default/default
Puma 似乎运行良好:
/home/ec2-user/flviewer/shared/log/puma_error.log: [8006] * 听着 unix:///home/ec2user/flviewer/shared/sockets/tmp/puma.sock
但这显示在 /var/log/nginx/error.log 中:
2016/12/12 05:33:00 [错误] 11018#0: *1 open() “/usr/share/nginx/html/flviewer”失败(2:没有这样的文件或 目录),客户端:173.73.119.219,服务器:localhost,请求:“GET /flviewer HTTP/1.1”,主机:“54.86.222.53”
为什么它应该在查看我打开的套接字时却查看“/usr/share/nginx/html/flviewer”?
这是我的 'nginx -T' 转储的配置:
# configuration file /etc/nginx/sites-available/default:
upstream app {
# Path to Puma SOCK file, as defined previously
server unix:/home/ec2-user/flviewer/shared/tmp/sockets/puma.sock fail_timeout=0;
}
server {
listen 80;
server_name localhost;
root /home/ec2-user/flviewer/current/public;
try_files $uri/index.html $uri @app;
location @app {
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header Host $host;
proxy_redirect off;
#proxy_http_version 1.1;
proxy_set_header Connection '';
proxy_pass http://app;
#autoindex on;
}
location ~ ^/(assets|fonts|system)/|favicon.ico|robots.txt {
gzip_static on;
expires max;
add_header Cache-Control public;
}
error_page 500 502 503 504 /500.html;
client_max_body_size 4G;
keepalive_timeout 10;
}
【问题讨论】:
-
/usr/share/nginx/html是 nginx 的默认目录。尝试运行sudo service nginx start或sudo service nginx configtest。 -
是的,我确实重启了 nginx。通过将一些垃圾注入我的站点可用/默认文件并让它捕获错误的语法来测试它是否正确重启。
-
套接字似乎工作正常。跑这个:# socat - UNIX-CONNECT:/home/ec2-user/flviewer/shared/tmp/sockets/puma.sock GET / RESPONSE >> HTTP/1.1 400 Bad Request
标签: ruby-on-rails nginx puma