【Windows】Apache初心者質問スレ【専門】
最初はエラーが出たと言って、
その次はエラー出したくないからと言って、
今度は注意書きがエラーだと?
死んでこい。
いっぱい釣れた( ´,_ゝ`)プッ
もう冬ですね。
2ch見るようになって一週間〜半年の間って釣った釣られたに拘るよね
スカートめくりのイタズラ覚えた小学生と同じ
ククク釣られてやんの( ´,_ゝ`)
っつか改行ウザイ。
( ´,_ゝ`)
WinXP SP2でも問題なく使えるぞ
ただし、標準でPFWが有効になってるから、無効にするなりポートあけるなり自力でやれないようだと・・・先が思いやられる。
引っかかりやすいのは、httpd.confでドキュメントルートとサーバルートを間違えて書き換え、起動しなくなるとか。
まぁ
自分の恥隠しに釣りと騒いでるようにしか見えないし
ごめんなさい!
最近はつれたレスにつられる奴が多いな━(゚∀゚)━!
AN HTTPdを卒業して
apacheやってみようという安易な考えでインスコしたんだけど
インスコ直後にサービス開始したら↓のエラーログはき続けるんだけど
何が悪いのかサッパリ(´・ω・`)
WinXPsp2ですがPFWは無効に。
もちろんセキュリティーソフトのFWも切ってます
ルータ使用でIPは192.168.0.150で固定
すんごい初歩的なミスなんだろうけど
ググっても対して出てこずで困ってるので
たのむ、答えてオクレ(´・ω・`)
Encountered too many errors accepting client connections.
Possible causes: dynamic address renewal, or incompatible VPN or firewall
software.
Try using the Win32DisableAcceptEx directive.
>>940 親切丁寧に
Try using the Win32DisableAcceptEx directive.
と言ってくれてるんだから聞く前にエラーログを読んで解釈する努力をしろ。
機械訳でも読解力が有れば理解できる。
藻前ら教えてください。
OSはW2kWS-sp4で、Apache1.3.33の環境では動いています。
これを2.0.52に変えるとApache2がメモリを食い潰してクライアントへの反応が
徐々に遅くなり、しまいには2分以上の時間をかけてページが表示されるように
なってしまいます。
関係しそうな、2.0.52の方のhttpd.confの設定は
Timeout 300
KeepAlive On
MaxKeepAliveRequests 100
KeepAliveTimeout 15
<IfModule mpm_winnt.c>
ThreadsPerChild 50
MaxRequestsPerChild 0
Win32DisableAcceptEx
</IfModule>
Listen 80
これらのうちThreadsPerChildは50〜999で変化させて見ましたが駄目ですた。
また、rotatelogs.exeは動作が怪しすぎるので使っていません。
ほかに晒すところってありますか?
Win32版は2.0の方が最適化されてるってことで移行しようと思ったのに・・・
漏れには1.3.33の方が軽くて快適だ・・・そんな馬鹿なことがあるのか?
>>943 反応が遅くなったときにnetstatしてみれ。
945 :
943:04/12/09 13:31:59 ID:???
>>944 ええと、それは遅くなったときに大量の接続が残ったままのはずだから
なにが残っているのかを確認しろ、ということでよろしいですか?
遅くなるまでに、どれくらい時間がかかるか判りませんが、逝ってきます。
946 :
943:04/12/09 18:56:16 ID:???
現象発生時のnetstat確認しますた。
普段と違うトコと言うと、CLOSE_WAITステータスの接続が20個ほど存在していることです。
ぐぐりますた。
>■CLOSE_WAIT
> パッシブ・クローズの状態。送信側にFINを送信して「LAST_ACK」へ遷移する。
むぅ・・・つまりFINを受け取ったあと自分がFINを送信できてないのですね。
っつーか、なぜこんな状態になるのかがわかりません。
この部分の処理はApache2の内部処理になるのでしょうか?
947 :
DNS未登録さん:04/12/09 21:46:16 ID:pSp3BvYx
用途がよく分からんけど、KeepAliveをOffにしてみたら?
あとは別のソフトが悪さしてる可能性もあるし
地道にテストするしかないね
でも1できちんと動いてるならそれでいいんじゃないの?
ちゃんと動いてる環境は、無理して構成変える必要ないしね。
重大なバグがあれば話は別だが、1.3の最新版入れておけばとりあえず問題ないもんな。
( ´,_ゝ`)プッ
950 :
943:04/12/10 11:22:57 ID:???
勉強したりログ眺めたり悩んだりして、CLOSE_WAITは無関係と判りました。
1 クライアントからのリクエスト
↓
2 ESTABLISHEDの時に「何らかの要因」で送信しなくなる
↓
3 クライアントがいらついてリロード(FIN送出)
↓
4 CLOSE_WAITとなるが「何らかの要因」で、やっぱり送信しない
↓
5 接続がESTABLISHEDとCLOSE_WAITの山になる
というシナリオのようなので「何らかの要因」が判らんことには・・・
>>947 KeepAliveをOff これは試してみます。
別のソフトですか・・・
CHX-I Packet Filter
RealVNC
War-ftpd
Xmail
PacketFilterは止められないし、RealVNC止めて様子見ですかね。
Apache2自体ではPerlScriptの掲示板が怪しそうですが・・・
1.3.33で無問題なのはイイんですが、ちと納得いきませんねぇ。
とにかく地道にやってみます。
サンクスでした>ALL
RealVNC・Xmail・War-ftpdあたりは有名どころだし多分大丈夫だと思うよ。
パケットフィルターの可能性はあると思うけど。
あと、Perlの掲示板は無関係だと思う。
>>950 思いっきりハズしてるかもしれないが、1系と2系の最大の違いである
マルチスレッド対応の有無に鍵があるのかもしれんよ。
1系=マルチスレッド未対応
2系=マルチスレッド対応
>>950 あ、それから動作確認のためにKeepAliveをオフにするのなら
かまわないが、基本的にKeepAliveはオンが推奨されてる。
もし調整する場合はTimeout、MaxKeepAliveRequests、KeepAliveTimeout
で調整するとよいそうだよ。
httpd.confでserver-statusが見られるように設定してそっちも見てみろ
955 :
943:04/12/11 19:13:57 ID:???
藻前ら色々な情報ありがとうございます。
server-statusも見て、漏れの悪い頭で解析したところではnetstatで得られる
情報以上のことは特に得られませんでした。
やっぱりSending ReplyとClosing connectionの山で、一貫性も見られません。
KeepAliveについてはOffだと大量の接続が発生するんでやめた方がイイですね。
ただしOffでのテストにより判ったんですが、単一IPからの大量の接続には楽勝で
反応するのに、複数IPからの少量接続が被った時、現象が発生しているんです。
自分一人のテストじゃ何をやっても現象発生が無かったのが理解できました。
で、ここまでの考えで、どうやら
>>952が大当たりなんじゃないかと・・・
今回の漏れのトラブルは、もろココが関わってて、この部分だけを見る限りは
2.0系は1.3系からフルスクラッチされてて、全く別のソフトなのだそうです。
もう手詰まり状態なので、最後の手段MaxRequestsPerChildを使ってみますた。
要するにChild Processを再起動させてしまえば回避できるのではないかという
激しく後ろ向きなやり方です。
これでも回避できないようなら、もう漏れには無理なので1.3系で行きます。
Timeout 60
KeepAlive On
MaxKeepAliveRequests 100
KeepAliveTimeout 5
<IfModule mpm_winnt.c>
ThreadsPerChild 50
MaxRequestsPerChild 1000
Win32DisableAcceptEx
</IfModule>
これで接続が1000を越えたらChild Processが新しく別のPIDで生まれます。
KeepAlive Onなのでリクエスト数ではなく接続数になるわけですな。
今のところ、まだ様子見状態なのですが・・・・どうでしょうね。
956 :
943:04/12/16 23:46:47 ID:???
ご報告です。 原因は漏れの不注意ですた。
EnableSendfile Off
EnableMMAP Off
これを追加記述して、現象は発生しなくなりました。
sunsiteのダウンロードページに書いてあったのを見つけたんですが。
ttp://sunsite.tus.ac.jp/pub/apache/httpd/binaries/win32/ 別のところからダウンロードしたんで、こんな注意書きがあるの知りませんでした。
LogLevelをdebugに設定したら、INFOとして10022が頻発しててやっと気づきました。
んで検索に検索を続けていたら上のページが・・・
MaxRequestsPerChildも0に戻して大丈夫になってます。
しかし、この設定だと2.0の最適化の旨味が皆無になっちゃうような気もしますね。
ま、2.0には1.3には無い追加要素もあるし、使えるようになったからイイとします。
皆様ありがとうございました&お騒がせいたしました。
すいません、apache1.3.33にPHP4.3.10を入れたんですが、
[Fri Dec 18 08:50:32 2004] [error] [client 127.0.0.1] c:/php/php.exe is not executable; ensure interpreted scripts have "#!" first line
[Fri Dec 18 08:50:32 2004] [error] [client 127.0.0.1] couldn't spawn child process: c:/php/php.exe
というエラーが出てapacheが起動しません。
どう対処したらよいんでしょうか?
960 :
958:04/12/17 14:47:16 ID:???
はい、それで、httpd.confを色々弄ったんですが駄目でした。
サイトごとに弄る場所が異なっていてどれが正しいのか判別できません。
>>960 エラーの内容を把握できてるのか?
サイト回って書かれてることをただ丸写ししてるだけなんじゃないの?
原因を把握できていないのに丸写ししてもそりゃダメだべ。。。。
とりあえず原因につながることはエラーに書かれているそのままだから
それに応じて対処する。それだけのことだべさ。
少しは>956を見習ってみんしゃい。
962 :
958:04/12/17 16:05:11 ID:???
いくら調べてもわかりません・・・。
大人しく本を購入してその通りに1からやり直してみます。
なんでphp.exe?
964 :
DNS未登録さん:04/12/18 02:06:42 ID:9c0Oh8UH
Options Indexes で指定したディレクトリを見ると、
ファイル名が長いファイルが勝手に省略されてしまいます。
長いファイル名もそのまま表示する方法はありますでしょうか。
>>964 IndexOptions NameWidth=10000000000000000000
>>965 IndexOptions NameWidth=*
>>964 965に補足しとくけど、いくらApache側で長いファイル名に対応させても
鯖側スクリプト、クライアント側(ブラウザ)で認識できる文字数に制限がある場合
もあるから考慮を忘れずに。
性格な数字は忘れたが、ブラウザだと256文字だったかの制限があった気ガス
968 :
DNS未登録さん:04/12/18 11:03:29 ID:Bd6nzlRj
>>958 c:\windows\system32とかにあるphp4ts.dllが前のバージョンのままじゃないか?
わしはそこでひっかかった。
>>968 モジュールで動かす場合、php4ts.dllはsapiフォルダに突っ込んでも動くから
その方が楽。
970 :
958:04/12/18 16:30:08 ID:???
設定変更して保存すると、ファイルが暗号化されて読み込めなくなっていたみたいです。
ログを自動で圧縮したいのですが、設定が分からなくて困っています。
OS : TurboLinux8
Apache : 1.3.33
現在のログの吐き出し方はこうなっています。
SetEnvIf Request_URI _vti_ worm
CustomLog "|/usr/sbin/rotatelogs /var/log/httpd/access_log.%Y%m%d 86400 540" combined env=!worm
CustomLog "|/usr/sbin/rotatelogs /var/log/httpd/worm_access_log.%Y%m%d 86400 540" combined env=worm
この吐き出されたログを自動で圧縮したいのですが、どう設定したら良いのでしょうか?
宜しくお願い致します。
972 :
971:04/12/18 18:18:06 ID:???
すみません、Win専門スレだったんですね・・・
見なかったことにしてやってください。
スレ汚しスマソ。
先程、win2000でapache2を入れてスタートメニュー起動に
登録したところなのですが、control apache server→startで起動すると
could not bind addres 0.0.0.0:80 no listening sockets available
とエラーが出てコマンドプロンプトが終了してしまいますが、これは
もう起動してということでしょうか?先生方、教えて。