FC2ブログ

水雲風

とりあえず人生を記録と妄想の吐き出しの地

Jetty-6.1.15.rc3とWindows環境でCGI動作(2009/02/17)

JettyでCGIを動作させてみました。
ここではその手順をメモしておきます。
CGIはrubyを用いていますが、perlでも同様の手順で動作するはずです。
Windows2000Professional環境でCGIの動作を確認しています。

JettyはApche + TomcatみたいなWebサーバーで、Javaで作られていてコンパクトです。
ただし、Jettyに関する日本語のドキュメントはあまりないようです。
今回は、Tomcatをインストールせずに手軽にcgiを動かしてみたかったのでJettyで試してみました。


■Jettyのダウンロード

まず、Jettyを公式サイトからダウンロードしました。
[Downloads] → [Download from Codehaus] → [jetty-6.1.15] → [Jetty-6.1.15.rc3.zip]

ダウンロード後に適当な場所に解凍して置きました。


■CGIの設置

Jettyの以下のフォルダにCGIのファイル(test.rb)を設置しました。
[Jettyのルートフォルダ]/webapps/test/cgi-bin

test.rbの中身は以下のようになります。
※ 単純なRubyプログラムです。
#!C:/ruby/bin/ruby.exe

print "Content-type: text/html\n\n"
print "test"


■CGIの設定

以下の既存のファイルを修正してCGIが動作するようにしました。
[Jettyのルートフォルダ]/webapps/test/WEB-INF/web.xml

修正内容は以下になります。
<init-param>~</init-param>の部分を追加しています。
※ 特に3番目のinit-paramタグが重要なようです。
  <servlet>
<servlet-name>CGI</servlet-name>
<servlet-class>org.mortbay.servlet.CGI</servlet-class>
<load-on-startup>1</load-on-startup>
<init-param>
<param-name>Path</param-name>
<param-value>C:/ruby/bin/</param-value>
</init-param>
<init-param>
<param-name>ENV_SystemRoot</param-name>
<param-value>C:/Winnt</param-value>
</init-param>
<init-param>
<param-name>commandPrefix</param-name>
<param-value>ruby</param-value>
</init-param>
</servlet>

<servlet-mapping>
<servlet-name>CGI</servlet-name>
<url-pattern>/cgi-bin/*</url-pattern>
</servlet-mapping>


■Jettyの起動

Jettyのルートフォルダでコマンドプロンプトから以下を実行しました。
java -jar start.jar

Jetty起動後、以下のURLにアクセスするとtestと表示され正しくCGIが動作しました。
http://localhost:8080/cgi-bin/test.rb

スポンサーサイト



  1. 2009/02/17(火) 20:35:49|
  2. 計算機
  3. | トラックバック:0
  4. | コメント:0
<<映画「歩いても歩いても」 | ホーム | アニメ「ペルセポリス」>>

コメント

コメントの投稿


管理者にだけ表示を許可する

トラックバック

トラックバックURLはこちら
http://mechagappa.blog14.fc2.com/tb.php/634-6a046e2e
この記事にトラックバックする(FC2ブログユーザー)

プロフィール

おげれつ脱脂綿

カレンダー

01 | 2020/02 | 03
- - - - - - 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29

カテゴリー

月別アーカイブ(タブ)

最近の記事

最近のコメント

最近のトラックバック

ブロとも申請フォーム

この人とブロともになる

ブログ内検索

RSSフィード

全ての記事を表示する

全ての記事を表示する