Ruby on rails 乘客和Nginx无法在生产模式下运行rails应用程序
我有一个配置了rvm和psql的ubuntu EC2实例,之后我通过bitbucket在EC2实例上克隆了我的rails应用程序。 继数字海洋之后,我在我的实例上安装了passenger和nginx,并设置了Ruby on rails 乘客和Nginx无法在生产模式下运行rails应用程序,ruby-on-rails,ruby,nginx,amazon-ec2,passenger,Ruby On Rails,Ruby,Nginx,Amazon Ec2,Passenger,我有一个配置了rvm和psql的ubuntu EC2实例,之后我通过bitbucket在EC2实例上克隆了我的rails应用程序。 继数字海洋之后,我在我的实例上安装了passenger和nginx,并设置了passenger\u app\u env development我的服务器配置内部。 现在我想在生产模式下使用该应用程序,我从配置中删除了这一行,目前我的服务器配置如下: server { #listen 80 default_server; list
passenger\u app\u env development代码>我的服务器配置内部。
现在我想在生产模式下使用该应用程序,我从配置中删除了这一行,目前我的服务器配置如下:
server {
#listen 80 default_server;
listen 443 ssl;
ssl on;
server_name **.**.**.**;
passenger_enabled on;
rails_env production;
root /home/ubuntu/my_app/public;
ssl_certificate /home/ubuntu/my_app/my_app.pem;
ssl_certificate_key /home/ubuntu/my_app/my_app.key;
}
server {
listen 80;
server_name **.***.**.**;
return 301 https://$server_name$request_uri;
}
当我在控制台中执行Rails.env.production?
时,应用程序仍在开发环境中运行,我得到了错误的结果,既然我删除了提及开发环境的设置,难道不应该隐式假设应用程序处于生产模式吗?任何形式的帮助都值得感激。谢谢。同样,在每次更改配置文件后,我也会运行sudo nginx-s reload
和sudo service nginx restart
我认为您应该在启用passenger\u后将其添加到配置的服务器块中
:
passenger_app_env production;