![](/img/trans.png)
[英]Rails + Nginx + Unicorn - unicorn.sock file is not created when deploying
[英]Nginx, Rails, and Unicorn - 404 File not Found
每當我嘗試訪問Rails應用程序時,都會得到默認的Nginx 404頁面和/var/log/nginx/error.log中的以下錯誤:
2015/11/16 21:45:30 [error] 16240#0: *78 open() "/usr/local/apps/careers_api/current/public/application/test_aggregate.json" failed (2: No such file or directory), client: 70.184.87.69, server: careers-api.dynamynd.com, request: "GET /application/test_aggregate.json HTTP/1.1", host: "careers-api.dynamynd.com"
nginx.conf:
upstream api_server {
server unix:/run/unicorn/unicorn-api.sock fail_timeout=0;
}
server {
listen 443 ssl;
server_name abc.xyz.com;
root /usr/local/apps/abc_xyz/current/public;
ssl on;
ssl_certificate /etc/ssl/certs/ssl-bundle.crt;
ssl_certificate_key /etc/ssl/private/STAR_xyz_com.key;
ssl_prefer_server_ciphers on;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers ECDHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES128-SHA256:ECDHE-RSA-AES256-SHA:ECDHE-RSA-AES128-SHA:DHE-RSA-AES256-SHA256:DHE-RSA-AES128-SHA256:DHE-RSA-AES256-SHA:DHE-RSA-AES128-SHA:ECDHE-RSA-DES-CBC3-SHA:EDH-RSA-DES-CBC3-SHA:AES256-GCM-SHA384:AES128-GCM-SHA256:AES256-SHA256:AES128-SHA256:AES256-SHA:AES128-SHA:DES-CBC3-SHA:HIGH:!aNULL:!eNULL:!EXPORT:!DES:!MD5:!PSK:!RC4;
location @app {
proxy_set_header Host $http_host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_redirect off;
proxy_pass http://api_server;
}
}
我在同一台計算機上運行的其他應用程序上具有幾乎相同的配置,並且它們工作正常。
location @app
是命名位置。 它只能從另一個位置塊間接調用。 您有一個隱式location /
塊,但其中不包含調用上游服務的命令。
因此,除非該文件是位於/usr/local/apps/abc_xyz/current/public/application/test_aggregate.json
的本地靜態文件,否則將出現404
錯誤。
也許您缺少以下內容:
location / {
try_files $uri $uri/ @app;
}
要么
try_files $uri @app;
在服務器塊中。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.