Rails,NGINX 不加载已部署的应用程序

Rails, NGINX does not load deployed application

我已经安装了最后一个稳定版本的 NGINX (1.10)

在我的 Rails 项目中,我创建了 nginx.conf 文件:

upstream puma_myapp {
  server unix:///var/www/myapp/shared/tmp/sockets/myapp.sock;
}

server {
  listen 80 default_server deferred;
  # server_name example.com;

  root /var/www/myapp/current/public;
  access_log /var/www/myapp/current/log/nginx.access.log;
  error_log /var/www/myapp/current/log/nginx.error.log info;

  location ^~ /assets/ {
    gzip_static on;
    expires max;
    add_header Cache-Control public;
  }

  try_files $uri/index.html $uri @puma;
  location @puma {
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header Host $http_host;
    proxy_redirect off;

    proxy_pass http://puma_myapp;
  }

  error_page 500 502 503 504 /500.html;
  client_max_body_size 10M;
  keepalive_timeout 10;
}

我已经通过 capistrano 部署了我的 rails 应用程序。它消除了我的应用程序。

现在 /etc/nginx 中没有 sites-enabled 文件夹。我创建了这个文件夹然后我写了这个:

sudo ln -nfs "/var/www/myapp/current/config/nginx.conf" "/etc/nginx/sites-enabled/myapp"

然后我重启我的nginx:

sudo service nginx restart

当我打开我的页面地址时,我仍然得到nginx的默认页面,为什么会这样?

我的 puma.rb 文件是:

#!/usr/bin/env puma

directory '/var/www/myapp/current'
rackup "/var/www/myapp/current/config.ru"
environment 'production'

pidfile "/var/www/myapp/shared/tmp/pids/puma.pid"
state_path "/var/www/myapp/shared/tmp/pids/puma.state"
stdout_redirect '/var/www/myapp/current/log/puma.error.log', '/var/www/myapp/current/log/puma.access.log', true



threads 4,16

bind 'unix:///var/www/myapp/shared/tmp/sockets/myapp.sock

workers 0

我的 var/log/nginx/error.log 文件显示:

2016/08/16 10:07:01 [error] 10157#10157: *1 open() "/usr/share/nginx/html/favicon.ico" failed (2: No such file or directory), client: 178.88.194.6, server: localhost, $
2016/08/16 10:14:49 [error] 10157#10157: *3 open() "/usr/share/nginx/html/phpMyAdmin/scripts/setup.php" failed (2: No such file or directory), client: 203.110.167.86, $
2016/08/16 10:14:55 [error] 10157#10157: *4 open() "/usr/share/nginx/html/pma/scripts/setup.php" failed (2: No such file or directory), client: 203.110.167.86, server:$
2016/08/16 10:15:00 [error] 10157#10157: *5 open() "/usr/share/nginx/html/myadmin/scripts/setup.php" failed (2: No such file or directory), client: 203.110.167.86, ser$
2016/08/16 10:36:20 [error] 26599#26599: *1 open() "/usr/share/nginx/html/admin" failed (2: No such file or directory), client: 178.88.194.6, server: localhost, reques$
2016/08/16 10:42:11 [error] 27962#27962: *1 open() "/usr/share/nginx/html/admin" failed (2: No such file or directory), client: 178.88.194.6, server: localhost, reques$

您在 puma.rb 中的绑定套接字与您在 nginx.conf

中的套接字不匹配

问题更新后编辑:

PMA?看起来您正在使用 plesk 来管理您的系统。 plesk 会生成很多东西。您必须检查 plesk 在哪里需要您的配置。

sites-enabled 目录是 Debian 软件包的特定功能。如果您安装了其他 nginx 包或自己构建了它,那么 nginx.conf 可能不包含 include /etc/nginx/sites-en‌​a‌​bled/*; 指令,并且不包含该目录中的配置文件。