mod_rubyのインストール
ちょっと時間ができてきたので、早速Rubyを再開します。
Windowsでの簡易環境としてWEBrickを使用してきましたが、自宅のサーバーはLinuxで既にApacheが動作しているのでWEBrickの使用はちょっと避けたいところ。以前Ruby on Railsを試した時にFastCGIを設置はしたものの、RoRではきちんとRubyが動作するのに任意のRubyスクリプトでは全然まともに動いてくれない。
ということで、代替案を探していたところmod_rubyが見つかったので早速試してみる。
下記サイトからソースをダウンロードする。
下記コマンドでインストール。
$ tar zxvf mod_ruby-1.2.6.tar.gz $ cd mod_ruby-1.2.6 $ ./configure.rb --enable-eruby --with-apxs=/usr/sbin/apxs $ make $ sudo make install
Apacheの設定を行うため、以下のコマンドでファイルを作成。
$ sudo vi /etc/http/conf.d/ruby.conf
ファイルの内容は下記。
LoadModule ruby_module modules/mod_ruby.so AddHandler ruby-script .rb <IFModule mod_ruby.c> RubyRequire apache/ruby-run <Files *.rb> SetHandler ruby-object RubyHandler Apache::RubyRun.instance </Files> </IFModule>
Apacheの再起動。
$ sudo /sbin/service httpd restart
ところが、ここできちんと動作しない。で、色々と調べてみると実行権限が付与されていなかったことが判明。Windowsに慣れすぎるとだんだん常識を忘れてしまうものですね。
$ chmod a+x sample.rb
としてみるときちんと動作させることができました。
後、注意する事はWEBrickでは
print "Content-type: text/html¥n¥n"
と明示的に出力形式を指定しなくてはならなかったのですが、mod_rubyでは必要無いみたい。
概ね動作は良好なのですが、自作のWebアプリケーションを動かしていると初めは調子良く動くのにしばらくしたらきちんとHTMLが表示されないでHTMLのソースが表示されるようになってしまいます。Webサーバーを再起動するとまたきちんと表示されるところを見ると、多分余計なことろでテキストを出力しているせいなのかと思われるので、これからデバッグをしてみよう。
| 固定リンク
コメント