【问题标题】:I have to restart Apache every time I change my Rails code每次更改 Rails 代码时都必须重新启动 Apache
【发布时间】:2011-06-20 06:13:08
【问题描述】:

我正在运行带有 Apache 和 Passenger 的 Rails 3。自从我从 Mongrel 切换到 Passenger 后,我发现每次更改代码时都必须重新启动 Apache。这是预期的行为吗?在开发中使用 Mongrel 是避免此问题的唯一方法吗?

【问题讨论】:

标签: ruby-on-rails apache ruby-on-rails-3 passenger


【解决方案1】:

假设即使对于模型/视图/控制器代码,您也必须重新启动 Apache,您似乎已经设置了 Passenger 以在生产环境中运行您的应用程序。您可以通过将RailsEnv development 附加到您的虚拟主机来解决此问题。

某些代码会要求您重新启动应用程序——例如 config/initializersvendor 中的任何内容。

有一种方法可以只重启app(而不是整个服务器),就是touch tmp/restart.txt。这将更新tmp/restart.txt 的时间戳,这将触发Passenger 重新启动应用程序。

此外,您还可以使用touch tmp/always_restart.txt。这将告诉乘客在每个页面加载时重新启动应用程序。如果您正在处理需要重新启动的部分(例如上面提到的示例),这可能很有用。要停止自动重启,您必须删除该文件,如下所示:rm tmp/always_restart.txt

【讨论】:

  • 我错过了tmp/always_restart.txt,比每次手动点击restart.txt好多了。
【解决方案2】:

您也可以使用独立模式在开发中单独使用乘客。在您的项目目录中,键入

乘客开始

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-07-14
    • 2011-05-21
    • 1970-01-01
    • 2017-01-06
    • 1970-01-01
    • 2011-05-11
    • 1970-01-01
    • 2012-03-06
    相关资源
    最近更新 更多