デプロイすると、capistrano は release フォルダーにフォルダーを作成し、そのフォルダーを にシンボリック リンクします/your_app/current
。
一般に公開する Rails アプリの部分はpublic
フォルダーであるため、nginx 構成のルートを次のように設定する必要があります。
root /path_to_your_app/current/public;
展開するたびに、の内容がcurrent
ソースから効果的に更新され、ソース管理にコミットされていないデータは失われます。ここで共有フォルダーが登場します。共有フォルダーには、含まれないものが含まれます。バージョン管理、ただしデプロイごとに失いたくないもの - アプリケーション ログ、アップロードされた画像など。
アップロードに共有フォルダーを使用する方法の良い例を次に示します: http://www.simonecarletti.com/blog/2009/02/capistrano-uploads-folder/
deploy.rb で次のタスクを実行すると、Web サーバーを再起動できます。
namespace :deploy do
task :restart do
run "touch #{current_path}/tmp/restart.txt"
end
end
Phusion パッセンジャーはこのファイルを監視し、ファイルが作成されると再起動をトリガーします。