久々にサーバー環境の見直しと言うことで24日の21:30からサーバーを止めてメンテナンスを開始しました。
メンテナンス内容は、
・サーバー機器の掃除
・サーバー機器の動作チェック
・サーバー機器の取り替え
・サーバーOSの再設定
・サーバーソフトウエアの設定
という感じでした。
サーバー機器の取り替えでは、M/B、CPU、メモリ、FAN、HDDを新しい物へ取り替え。
OSはWindows XP x64からWindows 7 Pro x64へ変更しました。
本当はCentOSがいいんだけど・・・Windowsゲーム用のサーバーも立てるのでOSがWinodwsに(´・ω・`)
ハードの交換が完了すればOSをインストールしてサーバー設定を済ませればおわり!なのですが、
実機環境特有の問題がでてきやがりましたww
仮想テスト環境ではWindows Updateに約1時間だったのですが、実機環境だと4時間かかりましたwww
なんだこれはヽ(`Д´)ノ
遅い原因はWindowsUpdateのプロセスがメモリ14Gbとか食っているから・・・かもしれません。
それでも搭載メモリの約半分なので全然余裕なんだけどなあ
そしてアップデートが終わってOSの再起動がかかると、ブートレコード破損で起動不能www
diskpartからごにょごにょしてbootrec /fixbootなど試したけれどダメだった。
と言うことでOS入れ直しに約40分。
そして2回目のWindowsUpdateもやっぱり長時間。
なのでここで放置し翌日にすることに。
翌日11時に起きてサーバーを見てみると・・・WindowsUpdate失敗してるwwwwww
幸いブートレコードは無事だったからよかったけど、なんなのこれ。
WindowsUpdateサービスからインストールできないので、一括でインストールできるhotfixディスクを作成する事に。
使ったソフトはSP+メーカー。
結果は、ISOの作成に2時間ほど掛かったけれど無事hotfixの適応が完了しWindowsUpdateからも追加の更新を適応する事ができました。ヽ(゚∀゚)ノ
あとはサーバーソフトの構成、設定、データの移行だけ。
Web関連の構成はこんな感じ
・Apache 2.4.10 x64 vc11
・MySQL Community 5.6.21.1 x64
・PHP 5.6.2 x64 vc11
XPの頃は環境に合う物がなくて自力コンパイルだったけれど、
Winodws7だと有志の方がコンパイルしたVC11版ApacheとPHPがあるのですごく助かりましたー
データ移行はWordPressやアプリケーション、ライブラリ等のディレクトリ構成は変更していないので、phpやデータベースのパスを書き換える必要がなかったのも楽だった。
そしてWordPressのテスト実行。
コレがなんと速いこと・・OPcache + APCuはすごい。
これでサーバーメンテナンス完了だーと言うことでサーバーをオープンにして机の上の資料を整理しているとサーバーアラートが。
通知は「httpサーバーが応答していない」と言う物。
きたよこれ・・・前の環境(以前の記事1、以前の記事2)でもApache 2.4を使うとランダムなタイミングで応答しなくなる問題。
WindowsXPの問題かと思っていたけれどWindows7の環境でも発生するよう。
これ仮想環境やCentOSでは発生しないんだよなーーーー
問題は
・プロセスは死んでない
・エラーログ、デバッグログになにも出力されない
って所。
サーバー停止から12時間以上経過しているので早期復旧を諦めましたw
原因を調べるべく、同じような人が居ないかGoogle先生に色々聞いていると・・・
なにやらそれらしいブログの記事が出てきました。
http://stijndewitt.wordpress.com/2014/01/10/apache-hangs-ie11/
上記サイトによると、IE10/11がリクエストを投げるとそのリクエストに対するレスポンスは返すが、その後は一切レスポンスを返さなくなる。
と言うこと。
原因はApacheで、Windows NT向けに最適化されたマルチプロセスモジュールが原因のよう。
Apacheが原因でもトリガーはIEのアクセスってのがなんかApacheが拒否ってるみたいで面白いですねー
IEからのアクセスって条件だから症状の発生タイミングがバラバラだったのか。
訳がわかって納得。
そして、仮想環境のテストではIEを使っていないから発生しようがない。
説明を読んだだけで「コレだ!」ってわかる内容ww
解決方法も記載されていました。
# Apparently this fixes an issue with Apache 2.4.6 on Windows hanging # when serving requests from Internet Explorer 10/11. # see http://stijndewitt.wordpress.com/2014/01/10/apache-hangs-ie11/ AcceptFilter http none AcceptFilter https none
AcceptFilterディレクティブはconfのどこに書いてもいいみたいだけど、ちょっと気持ち悪いのでmpm.confに書き加えました。
<IfModule mpm_winnt_module> ... AcceptFilter http none AcceptFilter https none ... </IfModule>
これで様子を見よう!と思ったけど、サーバーもいつも使うPCもIEをアンインストールしてあるのでテストできないヽ(゚∀゚)ノ
仕方ないのでIE NetRendererサービスを使ってみる。
結果は設定が効いたようでレスポンスを返さなくなる症状がでなくなりました。
この解決方法を見つけ出したstijndewittさんGJ(`・ω・)b
2016/11/02 (水曜日) 03:24:46
apache2.4.23 へのバージョンアップにより不定期的ににハングアップする不具合が発生した。その場合、外部からだけで無く LAN 内からもアクセス不能と成る。
構成:
Apache 2.4.23 win32 vc14
PHP 5.6.25 x86 vc11
MySQL Community 5.6.23 x86
いろいろ調べている間にこちらのサイトにたどり着きました。
正しくピンポイントの解決法で、感謝です。
有り難う御座いました。
トラバさせて頂きましたのでご報告まで。
2016/11/02 (水曜日) 12:45:36
ご丁寧にありがとうございます。
トラバは承認しました。
この問題はIEを使わない人は全然気付けないんですよね。
Apacheの問題とはいえIEにはいろいろ振り回されます
2016/08/17 (水曜日) 15:50:05
はじめまして
お客様のウェブサーバーにてApache2.0を今まで使用していましたが、Wordpressを利用したいと言われた為、今更ながらPHPを使用できるように2.4にバージョンアップしました。
私はIEを利用しない人間なので最初は気づきませんでしたが、HP制作会社の方から「なんかサーバーが固まっているみたいですね」と言われたところから発覚。
google先生に聞いてみてこのサイトに辿り着きました。
まさにズバリの解決方法だったので本当に助かりました。感謝感謝です。
2015/05/23 (土曜日) 09:12:36
IE10 Apache2.4 PHP5.6 win8のローカル環境でレスポンス遅延に悩んでました。
PHPの環境作るのが初めてなのでhostsを書き換えたり設定ファイルの書き間違いを探したりしてました。
本文の2行を追記することで、解決出来ました。とても感謝しています。
2014/12/26 (金曜日) 01:13:44
まったく同じ症状で悩んでた所ここを発見!
この方法で解決できました
GJです