概要
RailsでSidekiqをCapistranoでAWSにデプロイする。
準備
アプリ
Gemfileにcapistrano-sidekiqを追加
Gemfile
gem 'capistrano-sidekiq'
Capfileに設定を追加
Capfile
require 'capistrano/sidekiq'
require 'capistrano/sidekiq/monit' #to require monit tasks # Only for capistrano3
deploy.rbに設定を追加
config/deploy.rb
set :sidekiq_monit_conf_dir, '/etc/monit.d'
サーバ
visudoを実行してアプリ実行ユーザがパスワード不用でsudoを実行できるようにする
visudo
## Same thing without a password
# %wheel ALL=(ALL) NOPASSWD: ALL
app ALL=(ALL) NOPASSWD: ALL
monitをインストール
sudo yum install -y monit
monitを自動起動にする
sudo chkconfig monit on
/etc/monit.confの以下の部分のコメントアウトを外す
/etc/monit.conf
set httpd port 2812 and
use address localhost # only accept connection from localhost
allow localhost
デプロイ実行
bundle exec cap staging deploy