(A) Apache + mod_passenger(mod_rack)で試す。
Apacheで、/に来たリクエストを、自前のrubyスクリプトに任せる設定。UbuntuでApacheとmod_passenger(mod_rack)を使います。
・ubunru 11で、apache2やmod_passenger一式を入れる。
apt-get install libapache2-mod-passenger
・自前のスクリプト一式の置き場所/usr/local/www/rack-scripts/を準備する。
mkdir /usr/local/www/rack-scripts/ mkdir /usr/local/www/rack-scripts/public mkdir /usr/local/www/rack-scripts/tmp
・自前のスクリプトapplication.wsgiを準備する。
/usr/local/www/rack-scripts/application.rbとして、
class HelloWorldApp def call(env) [ 200, { 'Content-Type' => 'text/plain' }, ['Hello world'] ] end end
・自前の設定ファイルconfig.ruを準備する。
/usr/local/www/rack-scripts/config.ruとして、
require 'application.rb' run HelloWorldApp.new
・apacheの設定をする。/に来たリクエストを、mod_passengerに任せる設定。
/etc/apache2/conf.d/rack-rootとして、
<Virtualhost *:80> DocumentRoot /usr/local/www/rack-scripts/public RackBaseURI / <Directory /usr/local/www/rack-script> Allow from all Options -MultiViews </Directory> </VirtualHost>(DocumentRootはpublicディレクトリを指定するところが特徴かも)
・apacheをリスタートし
/etc/init.d/apache2 restart
・ブラウザから、「http://ご自分のサーバー/」としてみると、「Hello World」と表示される。
(B) Apacheを使わずに試す。
・ubuntu11で、librack-rubyとruby一式を入れる。
apt-get install librack-ruby1.9.1 ※ ruby1.8ならlibrack-ruby1.8
以下、一つのディレクトリ内で、
・自前のスクリプトapplication.rbを準備する。
class HelloWorldApp def call(env) [ 200, { 'Content-Type' => 'text/plain' }, ['Hello world'] ] end end
・設定ファイルconfig.ruを準備する。
require 'application.rb' run HelloWorldApp.new
・実行する。
rackup1.9.1 -I . ※ ruby1.8ならrackup1.8
・ブラウザから、「http://ご自分のサーバー:9292/」(ポート番号はコンソール表示を確認)としてみると、「Hello World」と表示される。
・おまけ
ポート番号を変更したい場合は、
rackup1.9.1 -I . -p 8080
オプション-s mongrelとすると、Webアプリケーションサーバーをmongrelに変更できる(デフォルトはWEBrick)はずです。
というかヘルプは、
rackup1.9.1 --help
--
以上
0 件のコメント:
コメントを投稿