我有一个使用rvm和psql配置的ubuntu EC2实例,之后我通过bitbucket在EC2实例上克隆了我的rails应用程序。 通过这个数字海洋的链接,我在实例上安装了passenger和nginx并设置了passenger_app_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?
时,该应用程序仍在开发环境中运行Rails.env.production?
在控制台中,我得到了错误的结果,既然我已经删除了提及开发环境的设置,那么乘客是否应该不应该暗中假设应用程序处于生产模式? 任何帮助都值得赞赏。 非常感谢。 同样,在我对配置文件进行的每次更改之后,我还运行sudo nginx -s reload
和sudo service nginx restart
。
我认为您应该在passenger_enabled on
添加到配置的server
块中:
passenger_app_env production;