【问题标题】:Why is this Current Directory not being used?为什么当前目录没有被使用?
【发布时间】:2012-05-17 20:04:28
【问题描述】:

Rails 应用程序通过 Capistrano(在运行 Apache 前端的 gentoo 机器上)很好地部署,Symlink 指向正确的(最新)目录。只有服务器继续使用旧目录,重新启动 Thin 无济于事。看起来好像正在进行一些缓存?

第二天运行通常的瘦服务器重启以进行测试……

thin restart -s1 -p 3004 -e production

...突然确实使用了最新的目录。但是任何新的部署再次无法使用,场景重新开始。

# remote directories, via Capistrano
/release…1
/release…2
/release…3 # Server uses this directory, why?
/release…4
/release…5 # symlink 'current' points here

已解决:

我一遍又一遍地尝试在同一个 shell 中从当前重新启动 Thin。这令人尴尬地意味着我留在了同一个符号链接的 /current 目录中以重新启动。显然,与此同时,当前实际上是通过 Capistrano 推出的新产品。

tl;博士

#from current
cd ..
cd current/
Thin restart

【问题讨论】:

    标签: ruby-on-rails apache capistrano symlink thin


    【解决方案1】:

    您的 capistrano 配方是否正在重新启动服务器?

    【讨论】:

    • 由于我手动重启的问题。从配方重新启动引发错误** [out :: revorm.com] sh: thin: command not found。可能是路径问题,我认为手动操作应该可以吗?
    • 这通常是最后发生的事情,所以是的,我希望如此
    • 手动重启正常工作。然而,之后只使用一次最新的当前目录。问题仍然存在:似乎 Rails / 服务器正在某处缓存旧的符号链接,指向旧目录,直到缓存被刷新。如何或更好:在哪里看?
    猜你喜欢
    • 1970-01-01
    • 2016-02-28
    • 2011-06-25
    • 1970-01-01
    • 1970-01-01
    • 2017-05-05
    • 1970-01-01
    • 2018-01-08
    • 2017-10-25
    相关资源
    最近更新 更多