ruby:passenger
差分
このページの2つのバージョン間の差分を表示します。
| 両方とも前のリビジョン前のリビジョン次のリビジョン | 前のリビジョン | ||
| ruby:passenger [2011/09/18 14:22] – [rvm + apache2 で動作させる] nullpon | ruby:passenger [2011/09/19 05:16] (現在) – [passengerのinstall] nullpon | ||
|---|---|---|---|
| 行 8: | 行 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/ |
| - | | + | |
| - | | + | |
| ==== デプロイ ==== | ==== デプロイ ==== | ||
| 行 31: | 行 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 ==== | ||
| 行 55: | 行 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 / | ||
| 行 69: | 行 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/ |
| - | 使い方はscript/ | + | dオプションでデーモン起動する。eで環境、pでポートを指定 |
| - | $ passenger start -e production -p 3001 | + | $ passenger start -e production -p 3001 -d |
| + | | ||
| ===== rvm + apache2 で動作させる ===== | ===== rvm + apache2 で動作させる ===== | ||
ruby/passenger.1316355726.txt.gz · 最終更新: by nullpon