我每次更改Rails代码时都必须重新启动Apache

Jas*_*ett 10 apache ruby-on-rails passenger ruby-on-rails-3

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

von*_*rad 22

假设你必须重新启动Apache甚至模型/视图/控制器代码,看起来好像你已经设置了Passenger来在生产环境中运行你的应用程序.您可以通过附加RailsEnv development到虚拟主机来解决此问题.

有些代码会要求您重新启动应用程序 - 这样的示例就是config/initializersvendor.

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

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