rails3 app ENV未被识别为生产

Ben*_*Ben 3 apache production ruby-on-rails passenger

我在我的linode VPS上设置了我的rails应用程序,phusion乘客已安装并正常工作,mysql也是如此(我知道这是因为我的朋友目前正在使用相同的设置运行2个生产应用程序).VPS正在运行Ubuntu 10.10,而我正在使用apache2和乘客.

我将应用程序SFTP到服务器,更新了软件包,设置了我的虚拟主机并指定了RailsEnv进行生产,路径都是准确的.

然后我用apachectl重启服务器(以root身份)-k restart尝试rake db:migrate并且它没有做任何事情,所以我认为这是因为环境没有改变,这正是发生的事情.如果我进入rails控制台并输入Rails.env它会给我开发.

我不知道为什么,我做了所有应该将它设置为生产的东西?谁知道我可能错过了什么?在应用程序的某个地方,我应该改变一些说生产环境的东西吗?我认为只需要在rails 2.x中完成

在此先感谢您的帮助.

Jef*_*eff 16

RailsEnv设置仅供乘客使用.它不会影响您在shell中键入的命令.

使用

RAILS_ENV=production rake db:migrate
Run Code Online (Sandbox Code Playgroud)

RAILS_ENV=production rails console
Run Code Online (Sandbox Code Playgroud)

或者RAILS_ENV在登录shell中设置环境变量,production以便您不必附加RAILS_ENV=production到您发出的命令:

export RAILS_ENV=production
Run Code Online (Sandbox Code Playgroud)

(确切的命令可能会有所不同,具体取决于您使用的shell;以上工作在bash中)