Redmineを動かすアプリケーションサーバー¶
アプリケーションサーバーについて¶
Redmineはrubyで記述されたプログラムで、フレームワークとしてRuby on Railsを使用しています。RedmineはWebアプリケーションなので、Webサーバーを経由してクライアント(Webブラウザ)と対話します。そのため、使用するWebサーバーと連携が必要となります。
このWebサーバーと連携してRubyプログラムを実行するものがアプリケーションサーバーになります。
よって、Redmineを運用するにはWebサーバーとアプリケーションサーバーの組み合わせます。
なお、アプリケーションサーバーによっては簡易なWebサーバー機能を持って単独でWebブラウザと対話できるものもあります。
アプリケーションサーバーのリストアップ¶
- WEBrick
ruby標準添付のWEBrickフレームワークを使ったRailsに標準で含まれるサーバーです。単独でWebサーバー機能を持ちます。 - Thin
- Passenger v4
ApacheまたはNginxのどちらかのWebサーバーに組込み動作するサーバーです。C/C++で書かれておりインストールはApacheのモジュールとしてビルドするかNginxのソースコードと一緒にビルドして組み込みます。 - Passenger v5
- Unicorn
ワーカープロセス構造 - Puma
Rails 5でデフォルトサーバーに使われる。(Rails 4まではWEBrick)
Passenger v4¶
無料版はマルチスレッド、ダウンタイムなしのデプロイ(シームレスに新しいワーカーを起動)に対応していません。
Passenger v5¶
Unicorn¶
マスタープロセスと、1プロセス1リクエストを捌くワーカープロセス複数個で構成します。ダウンタイムなしのデプロイが可能です。
使用メモ¶
CentOS 6/7¶
- 定番は
標準のセットアップ手順はPassengerとApacheを使うものが多いです。
高速化を追求しようとするとUnicornとNginxを使うものが多いです。
- SELinuxとの関連
PassengerとApacheは、SELinux下で動かすことが難しいので、SELinuxを無効にすることが大半です。
UnicornとNginxはSELinux下で動かすことが容易です。
参考資料¶
Web記事¶