我正在和Apache和Passenger一起运行Rails 3.自从我从Mongrel切换到Passenger以来,我发现我必须重新启动Apache,每次我更改代码.这是预期的行为吗?在开发中使用Mongrel的唯一方法是避免这个问题吗?
解决方法
假设您必须重新启动Apache,即使是模型/视图/控制器代码,似乎您已经设置Passenger在生产环境中运行应用程序.您可以通过将RailsEnv开发附加到您的虚拟主机来解决此问题.
一些代码将需要您重新启动应用程序 – 这是例子,在配置/初始化和供应商.
有一种方法只能重新启动应用程序(而不是整个服务器),这只是触摸tmp / restart.txt.这将更新tmp / restart.txt的时间戳,这将触发Passenger重新启动应用程序.
此外,您可以触摸tmp / always_restart.txt.这将告诉Passenger在每次加载的网页上重新启动应用程序.如果您正在处理需要重新启动的部分(例如上述示例),这可能很有用.要停止自动重新启动,您必须删除该文件,如下所示:rm tmp / always_restart.txt.