2018年07月中旬頃から、毎日タスク化している「Apacheの停止処理」に失敗するようになりました。
対象は、Windows2012仮想マシン(64bit)のサーバ。
そもそも、なぜApacheの停止/開始(再起動)をしているのかというと、FastCGI を使用したPHP アプリケーションが動いており、長期間FastCGIを使ってApacheの運用を行った場合、FastCGIが不安定な挙動を起こしたり、無応答になる場合があるとのことで、サービス利用時間外の間に、Apacheの停止と起動処理をタスク化(毎日)して運用しておりました。
さっそく、イベントログを確認すると...
The Apache service named reported the following error: >>> (OS 10048)通常、各ソケット アドレスに対してプロトコル、ネットワーク アドレス、またはポートのどれか 1 つのみを使用できます。 : AH00072: make_sock: could not bind to address 0.0.0.0:80
これが、毎回発生するわけでもなく、2~3回に1回の頻度で起きていて、朝方手動対応することになっていました。
原因
- ズバリ、2018年07月分のWindows Updateの問題でした。こちらに影響となったパッチが含まれているようです。
2018年7月11日 - KB4338815 (マンスリー ロールアップ)
7 月の更新プログラムを適用すると Stop エラーなどの問題が発生する – Ask the Network & AD Support Team
解決方法
- 現在、修正パッチが出ているようです。「KB4338831」のパッチを当てれば、当問題は解決するとのことです。
https://support.microsoft.com/ja-jp/help/4338831/july172018kb4338831osbuildpreviewofmonthlyrollup
昨日7/26の夜間に適用してもらったところ、本日7/27はきちんと再起動されていました。
しばらく様子をみていきたいと思います。