peko作戦について語るスレです。
サーバロケーションPIEに関する話題もこちらで。
現在の主要なテーマはpeko/cobraおよびtigerサーバが
特定条件下における突然死の原因究明です。
9月にrootさんが現地へ渡米して作業するそうです。
<関連サイト>
レンタルサーバー maido3.com 2ちゃんねるの転送量: http://server.maido3.com/pie/
MRTGによる統計情報: http://mumumu.mu/mrtg/
2ちゃんねる/PINKちゃんねる 稼動中のサーバ一覧: http://mumumu.mu/serverlist.html
<運営板PINKちゃんねる関係>
【Project ama】PINKちゃんねる特化型サーバ構築作戦 Part2
http://qb5.2ch.net/test/read.cgi/operate/1082721809/l50
【PINKちゃんねる】新サーバ獲得会議☆3
http://qb5.2ch.net/test/read.cgi/operate/1080295660/l50
<携帯電話特化型サーバ構築作戦関係>
【Love Affair】携帯からのアクセスに対する考察・次の一手 Part2
http://qb5.2ch.net/test/read.cgi/operate/1088657713/l50
<前スレ>
【Project peko】2ch特化型サーバ・ロケーション構築作戦 Part14
http://qb5.2ch.net/test/read.cgi/operate/1087666806/l50
探検
【Project peko】2ch特化型サーバ・ロケーション構築作戦 Part15
■ このスレッドは過去ログ倉庫に格納されています
1▲:/usr/local/bin/ch2 -o i686 ◆P8fXJj6wwo
04/08/21 15:04ID:hJLR4nfQ543root▲ ★
04/11/22 01:30:45ID:??? うーん、難しいなぁ。
mod_perl化って、言われているほど簡単じゃなさそうだ。
mod_perl化って、言われているほど簡単じゃなさそうだ。
544root▲ ★
04/11/22 02:22:23ID:??? なるほど、mod_perlすると最初のディレクトリが / になるんか、、、。
545留守番 ★
04/11/22 02:53:47ID:??? 導入されたですか?
546root▲ ★
04/11/22 03:22:10ID:??? 悪戦苦闘中、、、。
ほとんどの障害はクリアできそうなんですが、
親元のcgi側で、
require "本体.cgi";
ってやって、
そっちで exit; ってやると(ごぞんじのようにbbs.cgiはそうやっている)、
[Sun Nov 21 10:17:31 2004] [error] ModPerl::Util::exit: (120000) exit was called at 本体.cgi line exitがある行Compilation failed in
require at 親元.cgi line requireの行.\n
ってなって、500 Internal Server Error になるです。
最近のmod_perlは、exit; を使ってもいいように改良されているのですが、
requireした先で exit するのは許してないのかも。
あるいは mod_perl そのもののバグなのかどっちなのかは、現在調査中です。
ほとんどの障害はクリアできそうなんですが、
親元のcgi側で、
require "本体.cgi";
ってやって、
そっちで exit; ってやると(ごぞんじのようにbbs.cgiはそうやっている)、
[Sun Nov 21 10:17:31 2004] [error] ModPerl::Util::exit: (120000) exit was called at 本体.cgi line exitがある行Compilation failed in
require at 親元.cgi line requireの行.\n
ってなって、500 Internal Server Error になるです。
最近のmod_perlは、exit; を使ってもいいように改良されているのですが、
requireした先で exit するのは許してないのかも。
あるいは mod_perl そのもののバグなのかどっちなのかは、現在調査中です。
547root▲ ★
04/11/22 03:25:32ID:??? つまり、>>546 を簡単にいうと、
A.cgi
--------------
#! /usr/bin/perl
...
require "B.cgi";
--------------
B.cgi
--------------
exit;
--------------
ってのが、ちゃんとうごかんわけです。
A.cgi
--------------
#! /usr/bin/perl
...
require "B.cgi";
--------------
B.cgi
--------------
exit;
--------------
ってのが、ちゃんとうごかんわけです。
548root▲ ★
04/11/22 03:27:16ID:??? 個人的には、mod_perlのバグのような気がするなぁ。
549root▲ ★
04/11/22 03:31:14ID:??? いままでにクリアした障害:
1)SuExecと相性が悪い
UserとGroupをch2ex7/ch2に設定
2)カレントディレクトリがcgiを置いてあるディレクトリにならない
とりあえず明示的に最初のほうでchdir()する
3)bbs.cgi以外のcgiに影響をおよぼして欲しくない
<Files bbs.cgi>
</Files>
で囲む
1)SuExecと相性が悪い
UserとGroupをch2ex7/ch2に設定
2)カレントディレクトリがcgiを置いてあるディレクトリにならない
とりあえず明示的に最初のほうでchdir()する
3)bbs.cgi以外のcgiに影響をおよぼして欲しくない
<Files bbs.cgi>
</Files>
で囲む
550root▲ ★
04/11/22 03:46:04ID:??? 試しに require をやめて、親元の下に本体をくっつけてみると、mod_perl配下でちゃんと動きました。
うーーーむ、、、。
うーーーむ、、、。
04/11/22 03:46:05ID:Ja+Umu6n
exit;
を
Apache::exit;
にしてみるとか。
を
Apache::exit;
にしてみるとか。
552root▲ ★
04/11/22 03:47:47ID:???553root▲ ★
04/11/22 03:48:29ID:??? で、結果は同じでした。
ちゃんとModPerl::Util::exitはexit;だけで呼ばれるみたい。
ちゃんとModPerl::Util::exitはexit;だけで呼ばれるみたい。
554root▲ ★
04/11/22 03:50:19ID:??? む、、、止まったか。< ex7
04/11/22 03:52:47ID:Ja+Umu6n
556root▲ ★
04/11/22 03:54:01ID:???557root▲ ★
04/11/22 03:57:51ID:??? ex7はリブート要請しました。
みんなが何年もの間言っていたほど簡単には、mod_perl化はできないとわかった、、、。
みんなが何年もの間言っていたほど簡単には、mod_perl化はできないとわかった、、、。
04/11/22 03:58:24ID:GuTGbMhJ
いっそbbs.cgiを1から書き直すとか……。
誰がやるんだとか言う突っ込みはなしの方向で一つ。
誰がやるんだとか言う突っ込みはなしの方向で一つ。
04/11/22 03:59:58ID:Ja+Umu6n
560さぼてん ★
04/11/22 04:09:50ID:??? やっぱbbs.cgiが(りゃ だからか、、
561root▲ ★
04/11/22 04:32:54ID:??? ここでテストしてましたが、mod_perl配下だとTZ環境変数もおかしくなるみたい。
鯖が不安定なんだけど
http://ex7.2ch.net/test/read.cgi/morningcoffee/1101034399/
少なくとも今日のところは、撤退せざるを得ないなと。
で、SuExecをやめたぶん、ほんのちょっぴりパフォーマンスがよくなったのかも。
これについては、要経過観察で。
鯖が不安定なんだけど
http://ex7.2ch.net/test/read.cgi/morningcoffee/1101034399/
少なくとも今日のところは、撤退せざるを得ないなと。
で、SuExecをやめたぶん、ほんのちょっぴりパフォーマンスがよくなったのかも。
これについては、要経過観察で。
562root▲ ★
04/11/22 04:38:57ID:??? 今後やるとしても、まずは、基礎研究とじっくりとした調査が必要そうですね。
環境変数とか、動作の違いとか。
で、世の中の解説やWebにあるページとかを見ても、
mod_perlの2系(with Apache2)は、実はあまり多く解説されていないように見えます。
つまり、練りが足りないということがじゅうぶん考えられる。
もちろん、じっけん!じっけん!(AA略 して、
ここで練るというのもありですが、
そうするにしてもまずは事前準備をじっくりやって、勝ち目が出てきてからってことになるかなと。
ということで今日のところは、負け&撤退ということで。
環境変数とか、動作の違いとか。
で、世の中の解説やWebにあるページとかを見ても、
mod_perlの2系(with Apache2)は、実はあまり多く解説されていないように見えます。
つまり、練りが足りないということがじゅうぶん考えられる。
もちろん、じっけん!じっけん!(AA略 して、
ここで練るというのもありですが、
そうするにしてもまずは事前準備をじっくりやって、勝ち目が出てきてからってことになるかなと。
ということで今日のところは、負け&撤退ということで。
563root▲ ★
04/11/22 05:05:41ID:??? 寝る前に、試みた設定をダンプしておこう。
何か、設定に間違いがあったのかもしれない。
・mod_perlはportsからインストール(www/mod_perl2)
・httpd.conf
LoadModule perl_module libexec/apache2/mod_perl.so
<IfModule mod_perl.c>
PerlModule Apache2
</IfModule>
(略)
<Directory "/home/ch2ex7/public_html">
(略)
<IfModule mod_perl.c>
<Files bbs.cgi>
SetHandler perl-script
PerlResponseHandler ModPerl::PerlRun
PerlOptions +ParseHeaders
</Files>
</IfModule>
</Directory>
# 以下は動作確認の際のみ入れた設定
# mod_perl status
<IfModule mod_perl.c>
<Location /perl-status>
SetHandler perl-script
PerlResponseHandler Apache::Status
</Location>
</IfModule>
何か、設定に間違いがあったのかもしれない。
・mod_perlはportsからインストール(www/mod_perl2)
・httpd.conf
LoadModule perl_module libexec/apache2/mod_perl.so
<IfModule mod_perl.c>
PerlModule Apache2
</IfModule>
(略)
<Directory "/home/ch2ex7/public_html">
(略)
<IfModule mod_perl.c>
<Files bbs.cgi>
SetHandler perl-script
PerlResponseHandler ModPerl::PerlRun
PerlOptions +ParseHeaders
</Files>
</IfModule>
</Directory>
# 以下は動作確認の際のみ入れた設定
# mod_perl status
<IfModule mod_perl.c>
<Location /perl-status>
SetHandler perl-script
PerlResponseHandler Apache::Status
</Location>
</IfModule>
564root▲ ★
04/11/22 05:09:05ID:??? これで、有効にした後でエラーなくカキコできたことは確認。(>>561 のスレの最後のほう2つ)
しかしその後、リモートログイン窓の反応なくなる。
リモードコンソールのlogin:も出なくなった(エコーバックはあった)
メモリがめいっぱいになった時と同様の動作であったため、
メモリリーク? が起こったのかもしれない。
ただしsyslogには、そのようなメッセージはなし。
しかしその後、リモートログイン窓の反応なくなる。
リモードコンソールのlogin:も出なくなった(エコーバックはあった)
メモリがめいっぱいになった時と同様の動作であったため、
メモリリーク? が起こったのかもしれない。
ただしsyslogには、そのようなメッセージはなし。
04/11/22 07:49:03ID:rH7Qo05H
<Files *.cgi>
SetHandler perl-script
PerlResponseHandler ModPerl::Registry
PerlOptions +ParseHeaders
Options +ExecCGI
</Files>
Perlrequire "〜/startup.pl"
===startup.pl================================
use Apache2 ();
use subs qw(exit);
*exit = \&ModPerl::Util::exit;
1;
============================================
#!/usr/local/bin/perl
use strict;
use warnings;
if (exists $ENV{MOD_PERL}) {
my $path = $ENV{SCRIPT_FILENAME};
$path =~ s|/[^/]*$||;
chdir($path);
}
SetHandler perl-script
PerlResponseHandler ModPerl::Registry
PerlOptions +ParseHeaders
Options +ExecCGI
</Files>
Perlrequire "〜/startup.pl"
===startup.pl================================
use Apache2 ();
use subs qw(exit);
*exit = \&ModPerl::Util::exit;
1;
============================================
#!/usr/local/bin/perl
use strict;
use warnings;
if (exists $ENV{MOD_PERL}) {
my $path = $ENV{SCRIPT_FILENAME};
$path =~ s|/[^/]*$||;
chdir($path);
}
566root▲ ★
04/11/22 11:33:19ID:??? >>565
自分の環境でやってみました。
>>546 なパターンのプログラムの場合、同じ結果ですね。
で、ModPerl::Util::exit に変えても同じ。
[error] ModPerl::Util::exit: (120000) exit was called at ./test2.cgi line 1Compilation failed in require at /home/hoge/public_html/test/mod_perl/mod_perl_test.cgi line 33.\n
つまり、requireした先でModPerl::Util::exit; は呼んではいけないらしい。
自分の環境でやってみました。
>>546 なパターンのプログラムの場合、同じ結果ですね。
で、ModPerl::Util::exit に変えても同じ。
[error] ModPerl::Util::exit: (120000) exit was called at ./test2.cgi line 1Compilation failed in require at /home/hoge/public_html/test/mod_perl/mod_perl_test.cgi line 33.\n
つまり、requireした先でModPerl::Util::exit; は呼んではいけないらしい。
567root▲ ★
04/11/22 11:39:36ID:??? use Apache::compat; を startup.pl に入れてみたけど、結果は同じ。
この問題が解決できないと、メンテナンス性という意味でつらいかも。
ということで、とりあえずここまで。
しばらく本業します。
この問題が解決できないと、メンテナンス性という意味でつらいかも。
ということで、とりあえずここまで。
しばらく本業します。
04/11/22 15:26:07ID:2pXcN7gl
bbs.cgiをPerl5.8.5以降専用に大幅にリファクタリング。
mod_perl2でバグるところは書き方がしくじっている可能性が高い。
mod_perl2でバグるところは書き方がしくじっている可能性が高い。
569root▲ ★
04/11/22 19:14:57ID:???04/11/22 20:59:48ID:nl3X+2Ly
21:00からのTVタックル@liveanbでどうなるか
04/11/23 00:48:12ID:+x6i4aWR
やっぱPerlのような物に拘るのはもう限界じゃない?
preg_hogehoge()も付いてるあれの方がまだ安全というか、なんというか。
preg_hogehoge()も付いてるあれの方がまだ安全というか、なんというか。
04/11/23 10:32:48ID:YKcaKfwe
>>571
ひ(ryがいぢれないものはだめなのでわ?
ひ(ryがいぢれないものはだめなのでわ?
04/11/23 17:43:35ID:eXOFpxSi
PHPならひ(ryのひともいじれるんじゃ?
04/11/23 23:05:28ID:8ZIt9Br8
夜○さんが弄れない予感。
04/11/24 04:55:41ID:akrv5p91
で、その夜○さんとやらはmod_perl2用のPerlが弄れるのか?
576留守番 ★
04/11/24 17:07:33ID:??? たぶん たぶん
2001年8月の2ちゃんねるの規模は、、、
現 tiger 2台とみた、
2001年8月の2ちゃんねるの規模は、、、
現 tiger 2台とみた、
04/11/24 17:46:55ID:Ym4+XOeN
北ネット弱えええ!!!
04/11/24 18:42:32ID:+HFCWJf9
それは・・・(びっくり
そりゃあ色々変わっていくのが自然だよなぁとオモタ。
そりゃあ色々変わっていくのが自然だよなぁとオモタ。
579root▲ ★
04/11/24 19:45:50ID:??? >>576
今一番働いているtiger = tiger503 = ex7の最大転送量が、
圧縮して14〜15Mbpsぐらい。
http://mumumu.mu/mrtg/mrtg-rrd.cgi/traffic/ex7traf.html
2台だと、圧縮して30Mbpsぐらいはさばけると。
この頃って、もう圧縮してた(mod_gzip)はずだから、
http://web.archive.org/web/20011127064159/http://www.yakin.cc/
tiger4台分ぐらいなんじゃないかしら。
今一番働いているtiger = tiger503 = ex7の最大転送量が、
圧縮して14〜15Mbpsぐらい。
http://mumumu.mu/mrtg/mrtg-rrd.cgi/traffic/ex7traf.html
2台だと、圧縮して30Mbpsぐらいはさばけると。
この頃って、もう圧縮してた(mod_gzip)はずだから、
http://web.archive.org/web/20011127064159/http://www.yakin.cc/
tiger4台分ぐらいなんじゃないかしら。
580root▲ ★
04/11/24 19:49:12ID:??? てことはなにかい。
4 x (morningcoffee + news4vip + entrance + keiba + base) = 2001年8月の2ちゃんねる
っていうことなのか。
4 x (morningcoffee + news4vip + entrance + keiba + base) = 2001年8月の2ちゃんねる
っていうことなのか。
04/11/24 19:49:12ID:zANVD3pv
8月の閉鎖騒動の時は圧縮してなかったんでわ?
04/11/24 19:50:39ID:gWJBlVQT
584さぼてん ★
04/11/24 19:59:30ID:??? つまり、圧縮して30Mbpsくらいだったのかぁ。
2001年8月の2ちゃんねる
= 2 x ex7鯖
= ex7鯖 + news18鯖 + news19鯖 x 2
= morningcoffee + news4vip + entrance + keiba + base + anime + mnewsplus + newsplus x 2
(trafiicinfoは各種データがmnewsplusの2%くらいなのではずした)
(ノ∀`)アチャー
2001年8月の2ちゃんねる
= 2 x ex7鯖
= ex7鯖 + news18鯖 + news19鯖 x 2
= morningcoffee + news4vip + entrance + keiba + base + anime + mnewsplus + newsplus x 2
(trafiicinfoは各種データがmnewsplusの2%くらいなのではずした)
(ノ∀`)アチャー
04/11/24 21:53:32ID:g/SvI2MW
すげー
あらゆる意味で・・・
あらゆる意味で・・・
04/11/24 21:56:21ID:+ZRnpHE8
もしかして、bbs.cgi内で開いたファイルで
明示的にcloseしてないのがあって
それがmod_perlで動作させようとしたときに影響してる、
なんてことはないですかね。
いや、mod_perlでexitした時の動作とか全然知らないし
メモリ不足が原因なら、全然関係ないんですが。
明示的にcloseしてないのがあって
それがmod_perlで動作させようとしたときに影響してる、
なんてことはないですかね。
いや、mod_perlでexitした時の動作とか全然知らないし
メモリ不足が原因なら、全然関係ないんですが。
04/11/25 05:31:21ID:WpWvuctR
exitの代わりにreturnで戻すのはだめ?
常駐してんだから終了させんじゃなくapacheに戻してやる。
exitするとデータがクリアしたのに、他のプロセスで同じモジュールが動き続けて馬鹿になってゾンビが出る。
dieは?こいつも同じ原因を作る。
常駐してんだから終了させんじゃなくapacheに戻してやる。
exitするとデータがクリアしたのに、他のプロセスで同じモジュールが動き続けて馬鹿になってゾンビが出る。
dieは?こいつも同じ原因を作る。
588root▲ ★
04/11/25 18:15:12ID:??? mod_perlからはとりあえず一時撤退するとして、
SpeedyCGIを使ってみるというのは、どうなんだろう。
SpeedyCGIを使ってみるというのは、どうなんだろう。
589root▲ ★
04/11/25 18:45:57ID:??? Perl側を変えないとすると、こうかな。
# まだ入れてない。
LoadModule speedycgi_module libexec/apache2/mod_speedycgi.so
# まずは安全のため、機を見てコメントアウトとか数字を増やすとか
<IfModule mod_speedycgi.c>
MaxRuns 0
</IfModule>
# bbs.cgiだけSpeedyCGIにしてみる
<IfModule mod_speedycgi.c>
<Files bbs.cgi>
SetHandler speedycgi-script
</Files>
</IfModule>
# まだ入れてない。
LoadModule speedycgi_module libexec/apache2/mod_speedycgi.so
# まずは安全のため、機を見てコメントアウトとか数字を増やすとか
<IfModule mod_speedycgi.c>
MaxRuns 0
</IfModule>
# bbs.cgiだけSpeedyCGIにしてみる
<IfModule mod_speedycgi.c>
<Files bbs.cgi>
SetHandler speedycgi-script
</Files>
</IfModule>
591留守番 ★
04/11/25 23:29:25ID:??? これは何がどうなってどうなると予想されるものなんですか?
現状の2ちゃんねるにおいての話しとして、
現状の2ちゃんねるにおいての話しとして、
592root▲ ★
04/11/25 23:38:52ID:??? >>591
これが、一番まとまっていると思います(原文の翻訳かな)
http://perldoc.jp/docs/modules/CGI-SpeedyCGI-2.21/SpeedyCGI.pod
つまりうまくいけば、Perl CGIの実行パフォーマンスが数倍になると。
で、こいつはmod_perlよりお手軽で、
mod_perlほど元プログラムをいじらなくても導入できる見込みがあると。
かつ、suexecとも仲が悪くないらしいし、
root権限なくても動かせるというのも、魅力的すね。
これが、一番まとまっていると思います(原文の翻訳かな)
http://perldoc.jp/docs/modules/CGI-SpeedyCGI-2.21/SpeedyCGI.pod
つまりうまくいけば、Perl CGIの実行パフォーマンスが数倍になると。
で、こいつはmod_perlよりお手軽で、
mod_perlほど元プログラムをいじらなくても導入できる見込みがあると。
かつ、suexecとも仲が悪くないらしいし、
root権限なくても動かせるというのも、魅力的すね。
593root▲ ★
04/11/25 23:40:32ID:??? mod_perlにしてもそうですが、
基本路線としては、c系(PHP)を高速化した路線と大同小異です。
つまり、毎回でっかいPerlインタプリタを起動するコストを下げたいと。
基本路線としては、c系(PHP)を高速化した路線と大同小異です。
つまり、毎回でっかいPerlインタプリタを起動するコストを下げたいと。
594留守番 ★
04/11/25 23:45:11ID:??? LA を下げるのに寄与するって考えればいいのかな?
処理が比較して短い時間で終るからどんどん捌けるという路線?
処理が比較して短い時間で終るからどんどん捌けるという路線?
595root▲ ★
04/11/25 23:47:15ID:??? てなわけで、
if 成功
bbs.cgi のすばらしい高速化が実現し、負荷耐性が上がるかもしれない
else
歓迎せざる、予期せぬ結果を招くかもしれない
endif
ということになります。
いろいろ調べていて、それなりに高速化の成功例も報告されているようなので、
まずは実験してみようかなと。
if 成功
bbs.cgi のすばらしい高速化が実現し、負荷耐性が上がるかもしれない
else
歓迎せざる、予期せぬ結果を招くかもしれない
endif
ということになります。
いろいろ調べていて、それなりに高速化の成功例も報告されているようなので、
まずは実験してみようかなと。
596root▲ ★
04/11/25 23:49:43ID:??? >>594
そですね。短い時間というか、
1つのbbs.cgi起動・実行をより少ない資源で済むようにすると。
仕込みはしてあるので、
万一「あっちゃー」が起こった時にリブートしていただけるんでしたら、
今やってもいいかなぁ、とか思っていたりして。して。
そですね。短い時間というか、
1つのbbs.cgi起動・実行をより少ない資源で済むようにすると。
仕込みはしてあるので、
万一「あっちゃー」が起こった時にリブートしていただけるんでしたら、
今やってもいいかなぁ、とか思っていたりして。して。
04/11/25 23:51:44ID:6+wq7L37
_ ∩
( ゚∀゚)彡 じっけん!じっけん!
⊂彡
( ゚∀゚)彡 じっけん!じっけん!
⊂彡
598留守番 ★
04/11/25 23:51:48ID:??? i am ready
600root▲ ★
04/11/25 23:56:52ID:??? 入れた。まずは、
<IfModule mod_speedycgi.c>
MaxRuns 0
</IfModule>
入り。
<IfModule mod_speedycgi.c>
MaxRuns 0
</IfModule>
入り。
601root▲ ★
04/11/25 23:57:53ID:??? #<IfModule mod_speedycgi.c>
#MaxRuns 0
#</IfModule>
をコメントアウトした。
#MaxRuns 0
#</IfModule>
をコメントアウトした。
602留守番 ★
04/11/25 23:57:59ID:??? tiger503 (ex7) ですか?
603root▲ ★
04/11/25 23:59:22ID:??? ちょっと様子見、、、。
605root▲ ★
04/11/26 00:00:00ID:??? ひょっとすると、設定間違ってて、
bbs.cgiの1行目を直さないといけない、、のかも。
bbs.cgiの1行目を直さないといけない、、のかも。
606root▲ ★
04/11/26 00:02:46ID:??? bbs.cgiの1行目を、
#!/usr/local/bin/speedy
に変更した。
#!/usr/local/bin/speedy
に変更した。
608留守番 ★
04/11/26 00:04:22ID:??? どんどん LAが・・・
611root▲ ★
04/11/26 00:06:19ID:??? つまり、LA=30とか50とかでは、どってことないってころです。< この時間のex7
04/11/26 00:09:44ID:+llSYnHe
mod_perl化のための一歩
・exit()をApache::exit()でオーバーライド
・exit()をApache::exit()でオーバーライド
614root▲ ★
04/11/26 00:10:08ID:??? ですね。500エラーの原因をつかむ必要がありそう。
615root▲ ★
04/11/26 00:11:33ID:??? 今Apache起動しなおしました。LAが一時的に上がるです。
617root▲ ★
04/11/26 00:17:02ID:??? [Thu Nov 25 07:14:22 2004] [error] [client 219.197.196.67] Premature end of script headers: bbs.cgi, referer: http://ex7.2ch.net/test/read.cgi/morningcoffee/1101308600/l50
って言うなぁ。< speedyに食わせると
って言うなぁ。< speedyに食わせると
618root▲ ★
04/11/26 00:18:37ID:??? ちょっと、簡単なスクリプトで試してみるです。
619root▲ ★
04/11/26 00:21:09ID:??? http://ex7.2ch.net/test/mod_speedycgi/mod_perl_test.cgi
動くみたいだなぁ。
(mod_perl_testとなってますが、speedycgiで実行してます)
動くみたいだなぁ。
(mod_perl_testとなってますが、speedycgiで実行してます)
620未承諾広告※ ◆TWARamEjuA
04/11/26 00:21:17ID:76OGEP8i >>617
use CGI::Carp qw(fatalsToBrowser);
を入れると、エラーの実態が表示されるので参考になるかと。
ただし、その部分のソースコードも表示されるのでゴニョゴニョ
use CGI::Carp qw(fatalsToBrowser);
を入れると、エラーの実態が表示されるので参考になるかと。
ただし、その部分のソースコードも表示されるのでゴニョゴニョ
622未承諾広告※ ◆TWARamEjuA
04/11/26 00:26:42ID:76OGEP8i >>621
とりあえず、正しいhttpdレスポンスを吐き出していないかと思いますです(苦笑)>ぷりめちゃーなんたら
とりあえず、正しいhttpdレスポンスを吐き出していないかと思いますです(苦笑)>ぷりめちゃーなんたら
04/11/26 00:29:44ID:XVDEKJVQ
#!/usr/bin/speedy -r10000
use strict;
use warnings;
use sigtrap;
...
use strict;
use warnings;
use sigtrap;
...
624root▲ ★
04/11/26 00:32:32ID:??? <IfModule mod_speedycgi.c>
<IfModule>
で囲んじゃ、だめとわかたです。
囲まなければ、1行目を変えなくてもspeedyで起動する(で、500エラー)。
<IfModule>
で囲んじゃ、だめとわかたです。
囲まなければ、1行目を変えなくてもspeedyで起動する(で、500エラー)。
625root▲ ★
04/11/26 00:37:08ID:??? MaxRuns 0
ではなくて、
SpeedyMaxRuns 0
だったとわかったです。
ちなみに上記でも500エラー。
あとは、500エラーの原因は何か、と。
ではなくて、
SpeedyMaxRuns 0
だったとわかったです。
ちなみに上記でも500エラー。
あとは、500エラーの原因は何か、と。
626未承諾広告※ ◆TWARamEjuA
04/11/26 00:38:13ID:76OGEP8i んぢゃ、cp bbs.cgi ナンタラbbs.cgi で複製を作って、 use CGI::Carp qw(fatalsToBrowser); 入れちゃうとか(^-^;)
でもってそろそろ眠m(_ _)m
でもってそろそろ眠m(_ _)m
627root▲ ★
04/11/26 00:40:49ID:??? で、さらに、
<IfModule mod_speedycgi.c>
ではなくて、
<IfModule mod_speedycgi2.c>
だとわかった。
あとは、500エラーの原因さえわかれば。
<IfModule mod_speedycgi.c>
ではなくて、
<IfModule mod_speedycgi2.c>
だとわかった。
あとは、500エラーの原因さえわかれば。
04/11/26 00:43:25ID:XVDEKJVQ
exit使ったらだめとか
04/11/26 01:03:27ID:QmFQtdHo
順番にやっていけばいいかと
前提:perlccによる実行形式を削除
1) 1行目を変えるのみ&MaxRunsを1にする(-- -r1)
2) MaxRunsを指定しない
3) mod_speedycgiを使ってみる
前提:perlccによる実行形式を削除
1) 1行目を変えるのみ&MaxRunsを1にする(-- -r1)
2) MaxRunsを指定しない
3) mod_speedycgiを使ってみる
630root▲ ★
04/11/26 01:08:35ID:??? -- -r1 があたりのもより。
631root▲ ★
04/11/26 01:10:42ID:??? 動いたもより。
632root▲ ★
04/11/26 01:12:38ID:??? 今の設定
LoadModule speedycgi_module libexec/apache2/mod_speedycgi.so
<IfModule mod_speedycgi2.c>
SpeedyMaxRuns 1
</IfModule>
で、
<IfModule mod_speedycgi2.c>
<Files bbs.cgi>
SetHandler speedycgi-script
</Files>
</IfModule>
に設定。
これで、元bbs.cgiをいじることなく、bbs.cgiだけspeedycgi配下に。
LoadModule speedycgi_module libexec/apache2/mod_speedycgi.so
<IfModule mod_speedycgi2.c>
SpeedyMaxRuns 1
</IfModule>
で、
<IfModule mod_speedycgi2.c>
<Files bbs.cgi>
SetHandler speedycgi-script
</Files>
</IfModule>
に設定。
これで、元bbs.cgiをいじることなく、bbs.cgiだけspeedycgi配下に。
633root▲ ★
04/11/26 01:13:01ID:??? みるみるLAがさかってゆく、、、。< ex7
634root▲ ★
04/11/26 01:16:05ID:??? うそみたいに軽くなった。
これで、しばらくようすをみてみよう。
これで、しばらくようすをみてみよう。
635root▲ ★
04/11/26 01:25:18ID:??? でもこれだと、毎回起動はしてる、、、だよなぁ、たぶん。
どのくらい効果があるかは、しばらく観察ということで、
ごはんたべてきます。
从o^ー^从御飯喰
http://ex7.2ch.net/test/read.cgi/morningcoffee/1101210350/
どのくらい効果があるかは、しばらく観察ということで、
ごはんたべてきます。
从o^ー^从御飯喰
http://ex7.2ch.net/test/read.cgi/morningcoffee/1101210350/
04/11/26 01:26:30ID:+llSYnHe
たとえ-r1だとしても、バイトコンパイルのキャッシュが効くとか?
04/11/26 01:29:05ID:760svNOj
>>635
静かに楽しそうでなんかうれしいよ
静かに楽しそうでなんかうれしいよ
04/11/26 01:30:58ID:+llSYnHe
もしかして$ENV{'QUERY_STRING'}でパラメータを渡しているところが初期化ルーチンの最初だけとかじゃ無い?
環境変数を渡すタイミングが初期化時だけだとハマりどころかも。
環境変数を渡すタイミングが初期化時だけだとハマりどころかも。
04/11/26 01:34:09ID:+llSYnHe
あとexit前に
%Hoge = ();
みたいな感じで消去しとかないと-r1じゃないと動かないスクリプトになるという肝。
%Hoge = ();
みたいな感じで消去しとかないと-r1じゃないと動かないスクリプトになるという肝。
641名無し募集中。。。
04/11/26 02:05:26ID:QmFQtdHo よかったよかった
642从o^ー.^从御飯喰
04/11/26 02:07:05ID:ww4C5adr >>640
ガンガレー。
ガンガレー。
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 赤沢経済再生相との会談にトランプ氏同席、戦々恐々「まくしたてられるとまずい」「閣僚より話早い」 [Hitzeschleier★]
- 【芸能】粗品、石橋貴明の下半身露出に「国によっては極刑ちゃう? 飲食店の息子として考えられへん。キモすぎるもん、マジで」 [jinjin★]
- NHKプラス、10月からTV向けアプリでも常時同時配信開始。チューナーレスも“テレビ化”へ [香味焙煎★]
- 10万円給付なら「外国人に3600億円」維新・柳ケ瀬氏が対象見直しを要求 [パンナ・コッタ★]
- 石橋貴明 セクハラ報道で謝罪「不快な思いをさせてしまったことを申し訳なく思っております」「かなり羽目を外してしまったかも」★3 [Ailuropoda melanoleuca★]
- 「能登はこんな状態。万博やってる場合じゃない」 映画監督が万博批判もネット冷静「もうこういうのはええ」「万博も復興もやるんだよ」 [冬月記者★]
- 【石破悲報】141ドル [734532833]
- めちゃくちゃ面白いスレ🏡
- 昨日まで左だったじゃん!
- めちゃくちゃ怖い事が起きた
- 外国人「日本人はなぜアニメや漫画で自分たちを白人として描写するんだい?あれはとても恥ずかしいよ」 [441660812]
- 日本人の自己評価・・・「親切」が71%、「礼儀正しい」と「勤勉」はそれぞれ77%、いずれも過去最高😀 [441660812]