6

我有 Apache + phusion 乘客,我已经放了

RailsEnv production

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

rails c
> Rails.env.production?

它给了fales至于

> Rails.env.development?

它给出了真实的。有没有其他方法可以重新启动乘客,因为我认为默认设置“RailsEnv 生产”是正确的方法?顺便说一句我正在使用

sudo service apache2 restart

如何使用乘客 + apache 在生产模式下启动我的 ruby​​ on rails 应用程序?

4

4 回答 4

26

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

例如

  touch %RAILS_ROOT%/tmp/restart.txt

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

于 2013-03-12T17:56:38.017 回答
3

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

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

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

RAILS_ENV=production rails c

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

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

于 2013-03-12T17:56:28.803 回答
3

仅用于启动具有特定端口的应用程序,请使用以下命令:

乘客开始 -a 0.0.0.0 -p 3000 -d -e 生产

于 2013-11-12T12:35:13.547 回答
2

我按照此处的 PhusionPassenger 文档中列出的命令进行操作,它们立即工作。

deployer@staging:~$ passenger-config restart-app
Please select the application to restart.
Tip: re-run this command with --help to learn how to automate it.
If the menu doesn't display correctly, press '!'

 ‣   /home/deployer/myapp/current (staging)
     /home/deployer/myapp_2/current (staging)
     Cancel

Restarting /home/deployer/myapp/current (staging)

deployer@staging:~$ passenger-config restart-app
Please select the application to restart.
Tip: re-run this command with --help to learn how to automate it.
If the menu doesn't display correctly, press '!'

     /home/deployer/myapp/current (staging)
 ‣   /home/deployer/myapp_2/current (staging)
     Cancel

Restarting /home/deployer/myapp_2/current (staging)
于 2018-03-16T07:19:34.157 回答