ユーザ用ツール

サイト用ツール


ruby:passenger

差分

このページの2つのバージョン間の差分を表示します。

この比較画面へのリンク

両方とも前のリビジョン前のリビジョン
次のリビジョン
前のリビジョン
ruby:passenger [2011/09/18 14:22] – [rvm + apache2 で動作させる] nullponruby:passenger [2011/09/19 05:16] (現在) – [passengerのinstall] nullpon
行 8: 行 8:
  
 ==== passengerのinstall ==== ==== passengerのinstall ====
-MacOSXにpassenger 1.0.5のインストールする。やり方はUNIX系OSならどれでも同じ+[[/RubyGems]]でインストール
  
-  $ sudo gem install passenger+  $ gem install passenger
  
-もし[[/macosx#macports]]でインストールしたApacheに対してインストールする場合は先に環境変数APXS2とPATHを設定+[[/MacPorts]]でインストールしたApacheに対してインストールする場合は先に環境変数APXS2とPATHを設定する。
  
   $ export APXS2=/opt/local/apache2/bin/apxs   $ export APXS2=/opt/local/apache2/bin/apxs
   $ export PATH=/opt/local/apache2/bin:$PATH   $ export PATH=/opt/local/apache2/bin:$PATH
  
-passenderのュールを作成+passenderの動的共有オブェクトを作成
  
   $ sudo passenger-install-apache2-module   $ sudo passenger-install-apache2-module
  
-モジュールのロード設定、httpd.confに記述(ロード設定は上記のコマラストくるでコピペする!!以下のをコピペしても動かないぞ)+OSやディストリビューションの流儀合わせApache設定ファイルを作成する
  
-  LoadModule passenger_module /opt/local/lib/ruby/gems/1.8/gems/passenger-1.0.5/ext/apache2/mod_passenger.so +  LoadModule passenger_module /Users/nullpon/.rvm/gems/ruby-1.8.7-p352@redmine/gems/passenger-3.0.9/ext/apache2/mod_passenger.so 
-  RailsSpawnServer /opt/local/lib/ruby/gems/1.8/gems/passenger-1.0.5/bin/passenger-spawn-server +  PassengerRoot /Users/nullpon/.rvm/gems/ruby-1.8.7-p352@redmine/gems/passenger-3.0.9 
-  RailsRuby /opt/local/bin/ruby+  PassengerRuby /Users/nullpon/.rvm/wrappers/ruby-1.8.7-p352@redmine/ruby
  
 ==== デプロイ ==== ==== デプロイ ====
行 31: 行 31:
 ホスト全体をRailsアプリとする場合は、DocumentRoot に Rails アプリの public ディレクトリを指定する。 ホスト全体をRailsアプリとする場合は、DocumentRoot に Rails アプリの public ディレクトリを指定する。
  
-特定のパス、例えば/hogehoge以下にRailsアプリをデプロイする場合は、httpd.confに以下の設定をして+<code> 
 +DocumentRoot /var/www/paulownia.jp/redmine/publuc
  
-  RailsBaseURI /hogehoge+<Directory /var/www/paulownia.jp/redmine/publuc> 
 +   AllowOverride all 
 +   Options -MultiViews 
 +</Directory> 
 +</code>
  
-ドキュメントルートの下に hogehoge という名前で、railsのpublicィレクトリのシンボリックリンクを作成する。セキュリティのためRailsアプリ本体はhtdocsの外に出しておく。+特定パス、例えば /hogehoge 以下にデプロイする場合は
  
-例、/var 以下にインストールした redmine 0.7.1 を /redmineにデプロイ+<code> 
 +DocumentRoot /var/www/paulownia.jp/htdocs
  
-  LoadModule passenger_module /opt/local/lib/ruby/gems/1.8/gems/passenger-1.0.5/ext/apache2/mod_passenger.so +RailsBaseURI /hogehoge
-  RailsSpawnServer /opt/local/lib/ruby/gems/1.8/gems/passenger-1.0.5/bin/passenger-spawn-server +
-  RailsRuby /opt/local/bin/ruby +
-  RailsBaseURI /redmine+
  
-  $ cd /opt/local/apache2/htdoc+<Directory /var/www/paulownia.jp/redmine/publuc> 
-  $ sudo ln -s /var/redmine-0.7.1/public redmine+   AllowOverride all 
 +   Options -MultiViews 
 +</Directory> 
 +</code> 
 + 
 +RailsBaseURI のパスに合わせてドキュメントルート以下に Rails の public のシンボリックリンクを作成する。 
 + 
 +  $ cd /var/www/paulownia.jp/htdocs 
 +  $ ln -s /var/www/paulownia.jp/redmine/publuc hogehoge
  
 ==== update ==== ==== update ====
行 55: 行 66:
   $ sudo passenger-install-apache2-module   $ sudo passenger-install-apache2-module
  
-httpd.confを修正(設定は環境依存なので各自の環境に合わせて!)+モジュールのロード設定を修正 
   LoadModule passenger_module /opt/local/lib/ruby/gems/1.8/gems/passenger-2.0.3/ext/apache2/mod_passenger.so   LoadModule passenger_module /opt/local/lib/ruby/gems/1.8/gems/passenger-2.0.3/ext/apache2/mod_passenger.so
   PassengerRoot /opt/local/lib/ruby/gems/1.8/gems/passenger-2.0.3   PassengerRoot /opt/local/lib/ruby/gems/1.8/gems/passenger-2.0.3
   PassengerRuby /opt/local/bin/ruby   PassengerRuby /opt/local/bin/ruby
-  RailsBaseURI /redmine +  
 Apache2を再起動 Apache2を再起動
 +
   sudo /opt/local/apache2/bin/apachectl restart   sudo /opt/local/apache2/bin/apachectl restart
  
行 69: 行 81:
   $ cd /var/redmine-1.0.4/tmp   $ cd /var/redmine-1.0.4/tmp
   $ 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=/var/run/nginx.pid
 +DAEMON=/opt/nginx/sbin/nginx
 +
 +start(){
 +  $DAEMON
 +}
 +
 +stop(){
 +  $DAEMON -s stop
 +}
 +
 +case "$1" in
 +  start)
 +    start
 +    ;;
 +  stop)
 +    stop
 +    ;;
 +  restart)
 +    stop
 +    sleep 1
 +    start
 +    ;;
 +  status)
 +    status_of_proc -p $PID $DAEMON nginx && exit 0 || exit $!
 +    ;; 
 +  *)
 +    echo "Usage: $0 {start|stop|restart|status}"
 +esac
 +
 +exit 0
 +</code>
  
 ===== Standalone版 ===== ===== Standalone版 =====
-Railsアプリのディレクトリで+standalone版は開発用のWEBrickの代わりとして使える。また、redmine等のRailsアプリをサーバに設置せずにローカルで使用する場合に便利 
 + 
 +Railsアプリのディレクトリで以下のコマンドを実行すると起動する。初回のみnginxがダウンロード、ビルドされる。
  
   $ passenger start   $ passenger start
  
-初回のみnginxがダウンロード、ビルドされる。+使い方はscript/serverとほぼ同じ
  
-使い方はscript/serverと同じ+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 · 最終更新: 2011/09/18 14:22 by nullpon