プロジェクト

全般

プロフィール

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記事

クリップボードから画像を追加 (サイズの上限: 1 GB)