服务器上的混合Rails环境

问题描述 投票:0回答:1

出于某种原因,我使用的Rails应用程序具有混合环境。例如,应用程序使用config / environments / production.rb并登录到log / production.rb,但是使用config / database.yml中的开发设置,“ rake about”显示开发模式:

About your application's environment
Rails version             4.2.7.1
Ruby version              2.1.9-p495 (x86_64-linux-gnu)
RubyGems version          2.4.5.4
Rack version              1.6.5
JavaScript Runtime        Node.js (V8)
Middleware                Rack::Sendfile, ActionDispatch::Static, Rack::Lock, #<ActiveSupport::Cache::Strategy::LocalCache::Middleware:0x0000000633e5b8>, Rack::Runtime, Rack::MethodOverride, ActionDispatch::RequestId, Rails::Rack::Logger, ActionDispatch::ShowExceptions, ActionDispatch::DebugExceptions, ActionDispatch::RemoteIp, ActionDispatch::Reloader, ActionDispatch::Callbacks, ActiveRecord::Migration::CheckPending, ActiveRecord::ConnectionAdapters::ConnectionManagement, ActiveRecord::QueryCache, ActionDispatch::Cookies, ActionDispatch::Session::CookieStore, ActionDispatch::Flash, ActionDispatch::ParamsParser, Rack::Head, Rack::ConditionalGet, Rack::ETag, Warden::Manager, HttpAcceptLanguage::Middleware, OmniAuth::Strategies::GoogleOauth2
Application root          /var/www/[#########]
Environment               development
Database adapter          mysql2
Database schema version   20191114203932

服务器运行Apache和Passenger。

如何打开Rails应用程序所有部分的生产模式?

ruby-on-rails ruby
1个回答
0
投票

您的Apache / Passenger设置很可能会将环境设置为生产环境。这仅适用于通过Apache发出的Web(HTTP)请求。

除非另有规定,否则默认情况下rake / rails在开发模式下运行。您可以通过设置常量RAILS_ENV来实现。这可以通过在bash脚本中设置或在运行命令时进行,例​​如:

RAILS_ENV=production rake about

© www.soinside.com 2019 - 2024. All rights reserved.