lighttpdでpythonを使いたいのですが、モジュールやfast-cgiの設定をしても動作しません。

どのように設定すれば動くのでしょうか。

回答の条件
  • URL必須
  • 1人2回まで
  • 登録:2006/02/11 14:27:09
  • 終了:--

回答(1件)

id:kai10 No.1

kai10回答回数115ベストアンサー獲得回数32006/02/13 06:07:55

ポイント100pt

http://techgame.net/projects/Framework/wiki/TracFastCgi

TracFastCgi - TechGame Python Framework - Trac

python は使ってないので、外してたらごめんなさい。それと、リンク先はどれも英語です。lighttpdは、まだ情報が少ないですね。


lighttpdで cgiを使うための最小設定は、こんな感じです(phthonは、予想)。

server.modules += (”mod_cgi”)

cgi.assign = (

”.bin” => ””,

”.py” => ”/usr/bin/python”,

”.pl” => ”/usr/bin/perl”,

”.cgi”=> ”/usr/bin/perl”,

”.rb” => ”/usr/bin/ruby”

)


lighttpdで fastcgiを使うには2通りやり方があります。

1つは、1つめのURLの様なやり方。リンク先の trac は、pythonで書かれたものらしいので、やり方は同じだと思います。

phpだと”bin-path”にphpを指定するようですが、スクリプトによっては、そこにスクリプトそのものを指定する必要があります。

2つは、spawn-fcgi を使って、lighttpdとは別に起動する方法です。

fastcgi.server = (

”.fcgi” => (

”localhost” => (

”host” => ”127.0.0.1”,

”port” => 1111,

”check-local” => ”disable”

),

(

”host” => ”127.0.0.1”,

”port” => 1112,

”check-local” => ”disable”

),

(

”host” => ”127.0.0.1”,

”port” => 1113,

”check-local” => ”disable”

),

(

”host” => ”127.0.0.1”,

”port” => 1114,

”check-local” => ”disable”

)

),

)

上のような設定を行い、lighttpdを起動します。その後で、

# sudo -u www-data spawn-fcgi -f /home/foo/public_html/index.fcgi -p 1111

# sudo -u www-data spawn-fcgi -f /home/foo/public_html/index.fcgi -p 1112

# sudo -u www-data spawn-fcgi -f /home/foo/public_html/index.fcgi -p 1113

# sudo -u www-data spawn-fcgi -f /home/foo/public_html/index.fcgi -p 1114

という感じで、port指定をしてプロセスを起動します。あるいは、unix-domain socketを指定することも出来ます。www-dataは、lighttpdを動かしているuserです。ただ、こちらだと起動プロセス数の動的管理は出来ないんじゃないかと思います。それでも、こっちの方が処理が早いという記述をどこかで見ました。


どちらのやり方でも、rubyでですが、ちゃんと動くことは確認しています。

id:takets

ありがとうございます。試してみます

2006/02/20 18:31:10

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません