2014-03-31 121 views
0

有沒有人有一個好方法來管理與capistrano的應用程序服務器?這似乎是將它留給你自己的設備的情況,我還沒有看到一個很好的例子。Capistrano應用程序服務器作爲服務沒有sudo

基本上有兩列我想到的想法。

1)將其作爲部署用戶守護進程。優點,沒有系統服務等,所以沒有權限問題。然而,如果機器重新啓動,這會造成系統故障。

2)初始化腳本。安裝初始化腳本並使用它來管理服務器。這將重新啓動存活,並允許發言權/etc/init.d/myapp重新啓動/停止/啓動控制,如果你在SSH方式登錄,這是不錯的除了兩個原因

  • 大多數人從Capistrano的與對其進行管理sudo(我覺得像capistrano 3不鼓勵這樣)
  • 我還沒有看到一個很好的新貴或與獨角獸合作的類似的腳本。

我正在嘗試使用nginx + unicorn。 Nginx我已經完美設置了。我添加了一個站點到可用站點,並指向上游/ appserver/public。這樣做效果很好,資產預編譯工作非常好,一切都很好,我可以重新部署並獲得新資產。這很簡單,適用於OS init進程。然而,我已經幸運了,因爲nginx配置基本上是靜態的,而nginx只需要提供靜態文件。

應用程序服務器..獨角獸/瘦/美洲獅/無論是絆倒我的部分。我希望它在cap部署上重新加載應用程序,但我正在努力尋找一個足夠好的例子。

綜上所述。什麼是具有Rails應用程序生存重新啓動,並重新加載當帽部署被稱爲

回答

1
  1. 如果使用Passengernginxunicornthin的一個簡單的方法...您可以通過touching tmp/restart.txt file部署後重新啓動:

    的Gemfile:

    task :restart do 
        on roles(:app), in: :sequence, wait: 5 do 
        execute :touch, release_path.join('tmp/restart.txt') 
        end 
    end 
    
  2. 部署使用capistrano3-puma後重裝puma服務器

    gem 'capistrano3-puma' 
    

    Capfile:

    require 'capistrano/puma' 
    
相關問題