ruby:passenger
差分
このページの2つのバージョン間の差分を表示します。
両方とも前のリビジョン前のリビジョン次のリビジョン | 前のリビジョン | ||
ruby:passenger [2011/09/18 14:21] – 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 で動作させる ===== | ||
rvmでインストールしたruby1.8.7で動かす | rvmでインストールしたruby1.8.7で動かす | ||
+ | < | ||
$ rvm use 1.8.7 | $ rvm use 1.8.7 | ||
$ gem install passenger | $ gem install passenger | ||
$ rvmsudo passenger-install-apache2-module | $ rvmsudo passenger-install-apache2-module | ||
+ | </ | ||
設定ファイルを作成して読み込む | 設定ファイルを作成して読み込む |
ruby/passenger.1316355700.txt.gz · 最終更新: 2011/09/18 14:21 by nullpon