【fcgi】FastCGI 総合スレッド
FastCGIについてのスレッドがなかったので建てました。
Perl / Ruby / Cなどで書いたCGIを高速に実行することのできるFastCGIについて語りましょう。
本家:http://www.fastcgi.com/ 2chはSpeedyCGIなんだな。
FastCGIのほうが速いの? 修正したらサーバを再起動しないと駄目なんだよね?
開発段階では普通のCGIで動作確認して
バグがつぶれたらFastCGIに直して運用するみたいな感じで
やっているけど、そんなんでいいのかな? orz
サーバ再起動じゃなくて httpd の再起動ね FastCGI 化に伴うエンバグに気をつければそれでよいのではないかと。 再起動じゃなくて kill -HUP でいいんじゃね? fast cgi ってプロセスが起動したままになるんでしょ?
てことは、一度作成したページ内容をメモリにキャッシュしておいて
2回目からは、メモリから読み出すとか、そういうことは出来る? >>9
もちろんプログラムのメモリ内にためておけば出来るし、
賢いOSならファイルに保存しておいてもキャッシュが効いてかなり速くアクセスできる ファイルに保存するなら普通のCGIとかでも出来るじゃん 一応インストールまではできた。知識不足で結構苦戦。 Apache2.3/2.4にはどうやらFastCGIのモジュールが搭載される模様 速度求めるのならlighttpd + FastCGIが最強かな。 また誤爆スマソ。
わざとではないので、ほんとにすまそ。 PHP 5.2.0
http://www.php.net/ChangeLog-5.php
・Fixed bug #39020 PHP in FastCGI server mode crashes). (Dmitry)
・Fixed bug #37496 FastCGI output buffer overrun). (Piotr, Dmitry)
・Fixed bug #37256 php-fastcgi doesn't handle connection abort). (Dmitry) libphpからFastCGI+PHPに乗り換えようと思ってFastCGI環境を構築したんだけど
libphpのときのようにphp_valueなどでphpの変数をディレクトリ個別に設定する
ことはFastCGIではできないよね。
phpスクリプトにいちいち記述するのもlibphpの利便性に慣れると
ナンセンスだな。
てことでlibphpに戻しました。 lighttpd 1.5系。
たまにrespawnされないとか、長時間稼働でおかしくなるとか。
うちのボロ鯖ではcgiのほうが遅いけど確実という罠。 libfcgiっておかしくない?
ライブラリ内でexit()呼んだり、malloc()の戻り値をassert()だけでしか確認してなかったり。 apache2.2.14 with mod_fcgi の環境で C で fastcgi を使おうとやっているのですが、"Connection reset by peer: mod_fcgid: error reading data from FastCGI server"
というエラーが残って動かない状態です。
これがソースコードですがどこか間違っているのでしょうか?
#include "fcgi_config.h"
#include "fcgi_stdio.h"
int main () {
int count = 0;
while (FCGI_Accept() >= 0) {
printf("Content-type: text/html\r\n"
"\r\n"
"FastCGI test\n"
"Request number %d\n",++count);
} return 0;
}
ちなみにPerlでのfcgiファイルは動くことを確認しています apacheのmod_fastcgiってまだ問題あるの? 誰でも簡単にネットで稼げる方法など
参考までに、
⇒ 『半藤のブブイウイウレレ』 というサイトで見ることができます。
グーグル検索⇒『半藤のブブイウイウレレ』
JOUM887ZTZ