Passenger + NGINX:Phusion Passenger 目前不提供任何应用服务

Passenger + NGINX: Phusion Passenger is currently not serving any applications

生产环境中的Phusion Passenger + NGINX

我已照常使用我的 ROR 应用程序完成所有操作,但乘客未使用它。不知道怎么了...

sudo passenger-config restart-app

Phusion Passenger is currently not serving any applications.

/etc/nginx/sites-available/myapp

server {
    listen 80;
    server_name _;

    # Tell Nginx and Passenger where your app's 'public' directory is
    root /var/www/myapp/public;
    passenger_app_root /var/www/myapp;
    rails_env production;

    passenger_enabled on;
    passenger_ruby /home/myuserapp/.rvm/gems/ruby-2.3.1/wrappers/ruby;
}

在站点启用中有一个软符号链接 myapp/etc/nginx/sites-available/myapp

sudo passenger-status

Version : 5.1.4
Date    : 2017-05-25 06:56:30 +0300
Instance: byXevAbZ (nginx/1.10.3 Phusion_Passenger/5.1.4)

----------- General information -----------
Max pool size : 6
App groups    : 0
Processes     : 0
Requests in top-level queue : 0

----------- Application groups -----------

但是有一些乘客实例运行...

sudo passenger-config 列表实例

Name                       PID      Description
--------------------------------------------------------------------------
byXevAbZ                   1085     nginx/1.10.3 Phusion_Passenger/5.1.4

I 运行 sudo nginx -t 命令

nginx: [warn] conflicting server name "_" on 0.0.0.0:80, ignored
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful

第一个警告让我很困惑,所以我确定问题出在 myapp-site 和 default 的冲突上。

所以我只是关闭默认站点并重新启动 nginx。一切正常!

sudo rm /etc/nginx/sites-enabled/default
sudo service nginx restart

最终配置文件:

/etc/nginx/sites-available/myapp

server {
    listen 80;
    server_name myapp.com;

    # Tell Nginx and Passenger where your app's 'public' directory is
    root /var/www/myapp/current/public;
    rails_env production;

    # Turn on Passenger
    passenger_enabled on;
    passenger_ruby /home/myuserapp/.rvm/gems/ruby-2.3.1/wrappers/ruby;
}

P.S。如果您对主题有更深入的了解,请指正我。