【发布时间】:2018-07-14 04:16:29
【问题描述】:
我正在尝试自定义基于 rails 构建的 redmine 应用程序。我用 nginx + 乘客设置了一个 Vagrant。当我修改代码(例如,app/controllers/issues_controller.rb)时,web/app 服务器不会选择更改。仅当我重新启动 Web 服务器时才会反映更改。
我几乎尝试了所有可用谷歌搜索的解决方案。
确保应用程序正在运行开发模式。在 config/environment.rb 中尝试了 rails_env 指令 RAILS_ENV
缓存被禁用
首先,我认为可能是 vagrant bug,所以我在 Digital Ocean 服务器中设置了相同的内容,更改了代码,还是一样。
我只怀疑这些,但我不知道如何验证它。
- Nginx + 乘客即使在更改环境后仍继续在开发模式下运行,因此我的更改不会立即生效。
- redmine 应用程序可能有一些特殊的东西,即应用程序目录内的更改在 Web 服务器重新启动之前不会被拾取。
【问题讨论】:
-
每次您将新更改推送到服务器时,您都必须重新启动您的应用程序。如果您正在使用Passenger,在进行新更改后重新启动应用程序的最简单方法是在您的应用程序目录中调用
touch tmp/restart.txt。 -
我不是在谈论服务器。我说的是当地的流浪汉。我什至不推动改变。我只是修改文件并想在我的浏览器中查看结果。调用 touch tmp/restart.txt 看起来不错,但会在内部重新启动应用程序。但是,我坚信应该有一个更简单的选择。
标签: ruby-on-rails redmine