Nginx + Unicorn環境だとSELinux有効で普通にRails4アプリが動作した

Nginx + Unicorn 環境で動かしている Rails4 アプリの場合、試しに SELinux を有効にしたところ、特に何も対策せずに普通に動作させることができました。

— 環境 —
CentOS 6.4
nginx 1.6.0
unicorn 4.8.3
rails 4.1.1

スポンサーリンク

Apache + Passenger の環境だと、SELinux 有効で Rails 動作させるのに超苦労した記憶があります。

SELinux 有効(enforcing)で VirtualHost を /var/www/html 配下以外でも動作させる 〜 CentOS6 | EasyRamble
SELinux 有効(enforcing)で Apache + Passenger のもと Rails で Redmine を動作させる 〜 CentOS6 | EasyRamble

SELinux を有効にする

SELinux を有効にするには、以下の設定をしてサーバー再起動。

サーバー再起動後、SELinux の有効確認。

その後、Unicorn のプロセス起動。

nginx 設定ファイル

nginx 用の設定ファイルは以下のような感じです。

/etc/nginx/conf.d/rails_app.conf

その他、config/unicorn.rb など設定は以下を参照。

Nginx + UnicornでRailsアプリ(Redmine)を動作させる | EasyRamble
CentOS6にNginxをインストール〜バーチャルホスト設定 | EasyRamble

Nginx + Unicorn だと SELinux 有効でも簡単に動くので大変楽です。Nginx x SELinux 環境の情報が意外と少なかったのは当たり前に動くからかなぁ。調べてたら以下の情報を見つけました。2番目のページに Nginx を SELinux 有効でセキュリティアップすると、「2%-8%ほどのオーバーヘッドが発生する」とあります。

[CentOS][Redmine]CentOS 6, 7にRedmineとUnicornとNginxをインストール – torutkの日記
高速WebサーバNginxセキュリティ設定20 | マイナビニュース

そう言えば思い出したけど monit でのプロセス監視で、Unicorn のプロセスを監視する設定を追加しないといけません。明日やろう。

スポンサーリンク
パーフェクト Ruby on Rails は、最近読んだ Rails 本の中では一番役に立った本です。Chef や Capistrano など Rails と共によく使用される技術にも触れてあります。Ruby on Rails 4 アプリケーションプログラミングは、入門的な内容で Rails の機能全体を網羅されています。
スポンサーリンク
 
Twitterを使っていますのでフォローお願いたします!ブログの更新情報もつぶやいてます^^
(英語学習用)

Leave Your Message!