ruby-on-rails – 无法为rails app部署配置passenger和nginx

我正在使用CentOS在VPS上部署rails应用程序.我安装了宝石安装乘客的乘客.为了安装nginx,我使用了rvmsudo passenger-install-nginx-module.在我设置的nginx配置文件中:server { listen 80; server_name my-i...

我正在使用CentOS在VPS上部署rails应用程序.我安装了宝石安装乘客的乘客.为了安装nginx,我使用了rvmsudo passenger-install-nginx-module.

在我设置的nginx配置文件中:

server { 
        listen       80; 
        server_name  my-ip-address;  

       location / { 
            root   /home/deploy/repos/application-name/public; 
            passenger_enabled on; 
            rails_env production;  
        }
        ...
}

当我执行sudo service nginx status时,我得到以下信息:

nginx (pid 21015 21014) is running...

这表明nginx正在运行.

但我得到这个网页在浏览器上不可用.

当我使用rails s在开发模式下使用rails服务器并尝试使用my-ip-address检查浏览器时,即使我得到相同的结果:3000

任何人都可以帮助解决可能存在的问题吗?

当我运行命令passenger-config restart-app时,结果是:

Phusion Passenger is currently not serving any applications

我是否需要建议这是nginx或乘客的问题?

还有一个问题是 –

如果我的乘客安装不正确但nginx安装正确,那么我能否看到“欢迎来到nginx页面”?

更新:

我试着在后台运行乘客启动-p 3000 -d -e生产.现在,如果我做乘客身份,我会得到两个乘客实例,其中一个说Phusion Passenger目前没有提供任何应用程序,另一个显示如下:

Version : 5.0.21
Date    : 2016-01-16 10:42:42 +0530
Instance: feOajf7V (nginx/1.8.0 Phusion_Passenger/5.0.21)

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

----------- Application groups -----------
/home/deploy/repos/application-name/public (production):
  App root: /home/deploy/repos/application-name
  Requests in queue: 0
  * PID: 22003   Sessions: 0       Processed: 0       Uptime: 4m 17s
    CPU: 0%      Memory  : 36M     Last used: 4m 17s ago

如果我运行passenger-config restart-app,我得到的结果如下:

Please select the application to restart.
 ?   /home/deploy/repos/application-name/public (production)
     Cancel

这是否意味着乘客工作正常?但我看到浏览器中没有网页.

解决方法:

我想你没有在你项目的目录中运行乘客.
在项目的根目录中键入:

passenger start -p <port>

其中< port>是您要运行应用程序的端口(例如:8000).

UPDATE

根据您的问题和下面的评论中的更新,问题似乎不在于nginx或乘客的配置.由于您尝试不是在本地访问服务器,而是使用VPS的真实IP,因此有问题的端口可能无法打开.你可以检查一下here.

本文标题为:ruby-on-rails – 无法为rails app部署配置passenger和nginx