gpt4 book ai didi

ruby-on-rails - Rails.env 在哪里设置?

转载 作者:行者123 更新时间:2023-12-04 13:02:30 27 4
gpt4 key购买 nike

在我的服务器内 /etc/nginx/sites-available/appname我有 passenger_enabled on;rails_env production;放。出于某种原因,当我运行 rails r "puts Rails.env"它会吐出开发。我已经在我的应用程序中搜索了 rails env 的设置,但在任何地方都没有看到。我希望有人可以指导我了解为什么 nginx appname 配置中的设置被开发覆盖的方向。

版本:

nginx/1.14.0

rails 4.2.6

编辑:
乘客服务器配置:

server {
listen 443;
ssl on;
ssl_certificate /path/to/appname/fullchain.pem;
ssl_certificate_key /path/to/appname/privkey.pem;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers "lkajsdflkjsalfkdjlsaf";
ssl_prefer_server_ciphers on;
client_max_body_size 32000M;
server_name domain.com;
root /home/ubuntu/www/public; # <--- be sure to point to 'public'!
passenger_enabled on;
rails_env production;
}

最佳答案

当乘客加载您的应用程序时,它会使用您通过 rails_env 设置的内容覆盖您的本地环境设置。见 https://www.phusionpassenger.com/library/config/nginx/reference/#passenger_app_env哪个国家

This option sets, for the current application, the value of the following environment variables:

RAILS_ENV
RACK_ENV
WSGI_ENV
NODE_ENV
PASSENGER_APP_ENV


什么时候。您在命令行上运行“rails r”,即寻找此处其他答案中提到的 RAILS_ENV 设置,该设置与 nginx/passenger 设置完全分开。尝试添加类似
<%= Rails.env %>

在一个 View 中,并查看您的应用程序在生产中。您应该会看到它确实是生产环境,而当您使用 CLI rails 命令时,您可以随意使用任何您想要的环境,该命令默认为开发环境。

关于ruby-on-rails - Rails.env 在哪里设置?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52483502/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com