[#46647] RubyでWindowsの常駐サービスプログラムを作る方法 — kouichi_someya@...

はじめまして。

12 messages 2009/12/16
[#46649] Re: RubyでWindowsの常駐サービスプログラムを作る方法 — "U.Nakamura" <usa@...> 2009/12/17

こんにちは、なかむら(う)です。

[ruby-list:46633] ruby-fcgiについて

From: 藤原 昭宏 <fujiwaraa@...>
Date: 2009-12-14 14:06:41 UTC
List: ruby-list #46633
初めまして、藤原と申します。

ruby-fcgiについて質問させて下さい。

現在、CGIで作成した環境をFastCGIへ移行しようとしています。
カウント表示するだけの簡単なサンプルはFastCGI環境で
動作させることができましたが、実際にCGI環境を移行しようとすると
うまくいかずに悩んでいます。

行いたいのは、「みるみるRubyがわかる本」に記載されている、
CGIでのeRuby実行環境の、FastCGIでの環境構築です。

erb_run.cgiをerb_run.fcgiに変更し、apache側設定で
.htmlファイルにアクセスの際に起動するように変更しました。

------以下、erb_run.fcgi
#!/usr/local/ruby/bin/ruby -Ku
require 'erb'
puts "Content-Type: text/html"
puts
ERB.new(IO.read(ENV['PATH_TRANSLATED'])).run
------以上、erb_run.fcgi

ところが、apacheのerror_logに下記のエラーが記載されます。

/opt/hpws/apache/htdocs/test2/bin/erb_run.fcgi:5:in `read': can't convert 
nil into String (T
ypeError)
        from /opt/hpws/apache/htdocs/test2/bin/erb_run.fcgi:5

ENV['PATH_TRANSLATED']がnullのようです。


READMEを参照したところ、ENVの代わりにcgi.remote_addr等を
使用するよう記述がありましたので下記のようにしましたが
やはりエラーしました。

------以下、erb_run.fcgi
#!/usr/local/ruby/bin/ruby -Ku
require 'erb'
require 'fcgi'

FCGI.each_cgi {|cgi|
  puts cgi.header
  ERB.new(IO.read(cgi.path_translated)).run
}
------以上、erb_run.fcgi

[Mon Dec 14 22:40:22 2009] [error] [client 172.22.10.15] FastCGI: incomplete 
headers (0 by
tes) received from server "/opt/hpws/apache/htdocs/test2/bin/erb_run.fcgi"


申し訳ありませんが、原因と対処方法をご教授頂けないでしょうか。

当方の環境は以下の通りです。
OS HP-UX11iv2
apache 2.0.59
Ruby 1.8.7p174
fastcgi 2.4.0
mod_fastcgi 2.4.2
ruby-fcgi 0.8.7

また、README以外にruby-fcgiのリファレンス等、詳しい資料などありましたら
教えて頂けると助かります。

以上、宜しくお願い致します。



In This Thread

Prev Next