ruby:passenger
差分
このページの2つのバージョン間の差分を表示します。
両方とも前のリビジョン前のリビジョン次のリビジョン | 前のリビジョン | ||
ruby:passenger [2011/09/18 08:37] – nullpon | ruby:passenger [2011/09/19 05:16] (現在) – [passengerのinstall] nullpon | ||
---|---|---|---|
行 1: | 行 1: | ||
====== passenger ====== | ====== passenger ====== | ||
- | ApacheにrailsアプリをそのままデプロイできるようにするApacheのモジュール、またの名をmod_rails | + | [[http:// |
* [[http:// | * [[http:// | ||
* [[http:// | * [[http:// | ||
行 7: | 行 8: | ||
==== passengerのinstall ==== | ==== passengerのinstall ==== | ||
- | MacOSXにpassenger 1.0.5のインストールする。やり方はUNIX系OSならどれでも同じ | + | [[/ |
- | $ sudo gem install passenger | + | $ gem install passenger |
- | もし[[/macosx# | + | [[/MacPorts]]でインストールしたApacheに対してインストールする場合は、先に環境変数APXS2とPATHを設定する。 |
$ export APXS2=/ | $ export APXS2=/ | ||
$ export PATH=/ | $ export PATH=/ | ||
- | passenderのモジュールを作成 | + | passenderの動的共有オブジェクトを作成 |
$ sudo passenger-install-apache2-module | $ sudo passenger-install-apache2-module | ||
- | モジュールのロード設定、httpd.confに記述(ロード設定は上記のコマンドのラストに出てくるのでコピペする!!以下のをコピペしても動かないぞ) | + | OSやディストリビューションの流儀に合わせてApacheの設定ファイルを作成する。 |
- | LoadModule passenger_module /opt/local/lib/ruby/ | + | LoadModule passenger_module /Users/nullpon/.rvm/gems/ruby-1.8.7-p352@redmine/ |
- | | + | |
- | | + | |
==== デプロイ ==== | ==== デプロイ ==== | ||
行 30: | 行 31: | ||
ホスト全体をRailsアプリとする場合は、DocumentRoot に Rails アプリの public ディレクトリを指定する。 | ホスト全体をRailsアプリとする場合は、DocumentRoot に Rails アプリの public ディレクトリを指定する。 | ||
- | 特定のパス、例えば/hogehoge以下にRailsアプリをデプロイする場合は、httpd.confに以下の設定をして | + | < |
+ | DocumentRoot | ||
- | | + | < |
+ | | ||
+ | | ||
+ | </ | ||
+ | </code> | ||
- | ドキュメントルートの下に | + | 特定のパス、例えば /hogehoge 以下にデプロイする場合は、 |
- | 例、/var 以下にインストールした redmine 0.7.1 を /redmineにデプロイ | + | < |
+ | DocumentRoot | ||
- | LoadModule passenger_module / | + | RailsBaseURI /hogehoge |
- | RailsSpawnServer / | + | |
- | RailsRuby / | + | |
- | | + | |
- | $ cd /opt/local/apache2/ | + | < |
- | $ sudo ln -s /var/redmine-0.7.1/public | + | |
+ | | ||
+ | </ | ||
+ | </ | ||
+ | |||
+ | RailsBaseURI のパスに合わせてドキュメントルート以下に Rails の public のシンボリックリンクを作成する。 | ||
+ | |||
+ | | ||
+ | $ ln -s /var/www/ | ||
==== update ==== | ==== update ==== | ||
行 54: | 行 66: | ||
$ sudo passenger-install-apache2-module | $ sudo passenger-install-apache2-module | ||
- | httpd.confを修正(設定は環境依存なので各自の環境に合わせて!) | + | モジュールのロード設定を修正 |
LoadModule passenger_module / | LoadModule passenger_module / | ||
PassengerRoot / | PassengerRoot / | ||
PassengerRuby / | PassengerRuby / | ||
- | | + | |
Apache2を再起動 | Apache2を再起動 | ||
+ | |||
sudo / | sudo / | ||
行 68: | 行 81: | ||
$ cd / | $ cd / | ||
$ touch restart.txt | $ touch restart.txt | ||
+ | |||
+ | ===== nginx版 ===== | ||
+ | nginxには動的共有オブジェクトの仕組みが無いので、最初からpassengerを組み込んだ形でnginx自体をビルドする。 | ||
+ | |||
+ | passengerをインストール | ||
+ | |||
+ | $ gem install passenger | ||
+ | |||
+ | passenderのモジュールを組み込んだnginxをビルド。 | ||
+ | |||
+ | $ sudo passenger-install-nginx-module | ||
+ | |||
+ | デフォルトでは /opt/nginx にインストールされる。起動スクリプトが無いので適当に自分で作成する。 | ||
+ | |||
+ | 例 | ||
+ | |||
+ | <code bash> | ||
+ | #!/bin/bash | ||
+ | |||
+ | PID=/ | ||
+ | DAEMON=/ | ||
+ | |||
+ | start(){ | ||
+ | $DAEMON | ||
+ | } | ||
+ | |||
+ | stop(){ | ||
+ | $DAEMON -s stop | ||
+ | } | ||
+ | |||
+ | case " | ||
+ | start) | ||
+ | start | ||
+ | ;; | ||
+ | stop) | ||
+ | stop | ||
+ | ;; | ||
+ | restart) | ||
+ | stop | ||
+ | sleep 1 | ||
+ | start | ||
+ | ;; | ||
+ | status) | ||
+ | status_of_proc -p $PID $DAEMON nginx && exit 0 || exit $! | ||
+ | ;; | ||
+ | *) | ||
+ | echo " | ||
+ | esac | ||
+ | |||
+ | exit 0 | ||
+ | </ | ||
===== Standalone版 ===== | ===== Standalone版 ===== | ||
- | Railsアプリのディレクトリで | + | standalone版は開発用のWEBrickの代わりとして使える。また、redmine等のRailsアプリをサーバに設置せずにローカルで使用する場合に便利 |
+ | |||
+ | Railsアプリのディレクトリで以下のコマンドを実行すると起動する。初回のみnginxがダウンロード、ビルドされる。 | ||
$ passenger start | $ passenger start | ||
- | 初回のみnginxがダウンロード、ビルドされる。 | + | 使い方はscript/ |
+ | |||
+ | dオプションでデーモン起動する。eで環境、pでポートを指定 | ||
+ | |||
+ | $ passenger start -e production -p 3001 -d | ||
+ | |||
+ | |||
+ | ===== rvm + apache2 で動作させる ===== | ||
+ | rvmでインストールしたruby1.8.7で動かす | ||
+ | < | ||
+ | $ rvm use 1.8.7 | ||
+ | $ gem install passenger | ||
+ | $ rvmsudo passenger-install-apache2-module | ||
+ | </ | ||
+ | |||
+ | 設定ファイルを作成して読み込む | ||
+ | < | ||
+ | LoadModule passenger_module / | ||
+ | PassengerRoot / | ||
+ | PassengerRuby / | ||
+ | |||
+ | RailsBaseURI /redmine | ||
- | 使い方はscript/serverと同じ | + | < |
+ | | ||
+ | | ||
+ | </ | ||
+ | </ | ||
- | $ passenger start -e production -p 3001 | ||
ruby/passenger.1316335023.txt.gz · 最終更新: 2011/09/18 08:37 by nullpon