【问题标题】:Redmine rails app code changes not reflected - had to restart nginx every timeRedmine rails 应用程序代码更改未反映 - 每次都必须重新启动 nginx
【发布时间】:2018-07-14 04:16:29
【问题描述】:

我正在尝试自定义基于 rails 构建的 redmine 应用程序。我用 nginx + 乘客设置了一个 Vagrant。当我修改代码(例如,app/controllers/issues_controller.rb)时,web/app 服务器不会选择更改。仅当我重新启动 Web 服务器时才会反映更改。

我几乎尝试了所有可用谷歌搜索的解决方案。

  1. 确保应用程序正在运行开发模式。在 config/environment.rb 中尝试了 rails_env 指令 RAILS_ENV

  2. 缓存被禁用

首先,我认为可能是 vagrant bug,所以我在 Digital Ocean 服务器中设置了相同的内容,更改了代码,还是一样。

我只怀疑这些,但我不知道如何验证它。

  1. Nginx + 乘客即使在更改环境后仍继续在开发模式下运行,因此我的更改不会立即生效。
  2. redmine 应用程序可能有一些特殊的东西,即应用程序目录内的更改在 Web 服务器重新启动之前不会被拾取。

【问题讨论】:

  • 每次您将新更改推送到服务器时,您都必须重新启动您的应用程序。如果您正在使用Passenger,在进行新更改后重新启动应用程序的最简单方法是在您的应用程序目录中调用touch tmp/restart.txt
  • 我不是在谈论服务器。我说的是当地的流浪汉。我什至不推动改变。我只是修改文件并想在我的浏览器中查看结果。调用 touch tmp/restart.txt 看起来不错,但会在内部重新启动应用程序。但是,我坚信应该有一个更简单的选择。

标签: ruby-on-rails redmine


【解决方案1】:

我通过从 Redmine 3.4.2 升级到 3.4.4 自己修复了它。 Redmine 有一个与 Unloadable 插件约定 (https://www.redmine.org/issues/20513) 相关的内容,该约定似乎已在最新版本中得到修复。现在,我可以更改代码并立即在浏览器中查看结果。

【讨论】:

    猜你喜欢
    • 2011-06-20
    • 1970-01-01
    • 2012-03-06
    • 1970-01-01
    • 1970-01-01
    • 2017-01-06
    • 2011-05-21
    • 1970-01-01
    • 2016-01-16
    相关资源
    最近更新 更多