如何在Ubuntu服务器上为Ruby on Rails重启Phusion Passenger + Apache的生产模式?

iCy*_*org 6 apache ruby-on-rails passenger ruby-on-rails-3

我有Apache + phusion乘客,我已经把

RailsEnv production
Run Code Online (Sandbox Code Playgroud)

在/ etc/apache2/sites-available/default文件中并重新启动了apache但是当我运行时

rails c
> Rails.env.production?
Run Code Online (Sandbox Code Playgroud)

它给出了故障

> Rails.env.development?
Run Code Online (Sandbox Code Playgroud)

它给了真实.还有其他方法可以重新启动乘客,因为我认为将"RailsEnv生产"置于默认状态是正确的方法吗?顺便说一句,我正在使用

sudo service apache2 restart
Run Code Online (Sandbox Code Playgroud)

如何使用passenger + apache在生产模式下在rails应用程序上启动我的ruby?

Pav*_*l S 26

只需在你的应用程序的tmp目录中创建一个restart.txt

例如

  touch %RAILS_ROOT%/tmp/restart.txt
Run Code Online (Sandbox Code Playgroud)

请看这里 http://www.modrails.com/documentation/Users%20guide%20Apache.html第3.3节

  • 啊! 我可以通过观察Apache错误日志文件(在我的情况下是/var/log/apache2/error.log)来告诉它重启:[2014-01-08 20:37:38.9069 32489/7ff921f67700 Pool2/SmartSpawner.h :301]:/ app01/akiary_registration/app的预加载器在PID 13325上启动,监听unix:/tmp/passenger.1.0.32480/generation-0/backends/preloader.13325 (2认同)

Int*_*idd 3

您的应用程序可能已经处于生产模式。

默认情况下,以rails c开发模式加载应用程序。

如果您希望控制台在生产模式下启动,请执行以下操作:

RAILS_ENV=production rails c

控制台和Web应用程序是两个不同的rails进程并且独立运行。

您应该检查 Production.log 文件以确保您的应用程序在生产环境中运行。