CentOSでrbenv + Rails4 + puma + Nginxを使う


puma, Nginx で Rails4 を動かしていますが、puma の設定や起動スクリプトなどがあまり多く紹介されていなかったので、自分の設定を晒しておきます。
なお、ここでは、Railsは /home/rails/myapp にあり、railsユーザというもので動かす想定です。

といっても、基本的には GitLabgitlab-recipes をベースにしたものを使っているだけ。

puma.rb

pumaの設定は、gitlab-recipes では、こちら にある。

自分が使っている物も、application_path が違うだけ。以下の通り。

これを /home/rails/myapp/config/puma.rb において使っている。もちろん、それ以前に Gemfile に

gem 'puma'

を記載して、bundle install はしている。

puma起動スクリプト

CentOS6を使っているので、gitlab-recipes のこちら を参考にしている。

gitlab では puma 以外に sidekiq というサービスも起動するようになっているのでそれを削って、かつ rbenv を利用するようにして使っている。

これを /etc/init.d/myapp のように保存して、

# chkconfig --add myapp
# /etc/init.d/myapp start

のようにしている。

Nginx設定

gitlab-recipes にはこちら に Nginxの設定例がある。

今の自分の環境は SSL 不要なので、

のような設定を使っている。

以上、参考にされば幸いです。
ツッコミ、間違いなどあれば是非コメントいただけると助かります。