(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 件のコメント:
コメントを投稿