2つのWindows Serverがあり、1つは2012 R2にあり、もう1つは2008 R2にありますApache HTTP Server( httpd
)2.4プロキシ/リバースプロキシモード(ProxyPass
、ProxyPassReverse
および仮想ホスト構成の使用法)。どちらのサーバーも、Apache HausからビルドされたApache 2.4.27 x64バイナリビルドを使用します。
両方のサーバーでいくつかのバックアップスクリプトを実行しています。すべてのサービス(Apacheを含む)を停止してからバックアップを実行し、すべてのサービスを再起動します。
これらのスクリプトは、数年後(ほぼ4年)から正常に動作しています。しかし、July 12, 2018
、動作がおかしくなりました。バックアップスクリプトはジョブを実行し、すべてのサービスを停止してバックアップを作成しますが、Apacheを除くすべてのサービスが再起動されます。
調査したところ、Apache 2.4.27サービスを停止できないことがわかりました。サービスコンソールを使用して手動でサービスを停止しようとすると、コンソールに「停止中」と表示され、何も起こりません。
実行中のプロセスを確認したところ、httpd.exe
プロセスが実行中です。私はそのプロセスを殺そうとしましたが、運がありませんでした。
だから、私は試しました:
taskkill /im "httpd.exe" /f /t
そして出力は:
ERROR: The process with PID 560 (child process of PID 480) could not be terminated.
Reason: There is no running instance of the task.
そこで、Sysinternalsのpskill
を使用してプロセスを強制終了することをテストしました。
pskill -t 560
そして出力は:
Copyright (C) 1999-2016 Mark Russinovich
Sysinternals - www.sysinternals.com
Process 5956 killed.
しかし、httpd
プロセスは常に実行されているため、これは誤りです。
そのため、Apacheを2.4.27から2.4.34に更新しましたが、問題は残っています。状況のブロックを解除するには、サーバー全体を再起動する必要があります。
インストール済みのアップデートを確認したところ、一部がインストールされましたJuly 11, 2018
ですので、前日:
したがって、問題はこれらの更新の1つにあると思います。だから、それらすべてをアンインストールする前に、私と同じ問題を抱えている人はいますか?Apache 2.4は殺せなくなり、Windows Serverで停止できません?
大きな問題は、そのhttpd
プロセスを強制終了できない場合、ポート80がすでにバインドされているため、Apacheを再起動できないことです。
はい、私は正しい方向に進んでいたと思います。
最近インストールされた更新についてWebで検索した後、KB4338818が問題の原因です。
これは、FileZilla Serverなどの他のソフトウェアでも発生します ここで詳しく説明します 。
このセキュリティアップデートをアンインストールしたところ、Apacheを通常どおり開始/停止できるようになりました。
マイクロソフトが今後のアップデートでこれを修正してくれることを願っています!
マイクロソフトは、Windows 7およびWindows 2008 Serverの問題を修正するKB4345459をリリースしています。
Microsoftが問題の修正を開始しているようですが、これまではServer 2016とWindows 10のみ https://support.Microsoft.com/de-de/help/4345421/windows-10-update-kb4345421
KB4338831は、Windows Server 2012 R2の問題を修正するようです。
このセキュリティ以外の更新には、KB4338815(2018年7月10日リリース)の一部であった改善と修正が含まれ、次の月例のロールアップ更新のプレビューとしてこれらの新しい品質の改善も含まれています。出典: 2018年7月18日—KB4338831(月次ロールアップのプレビュー)
Windows Updateの推奨アップデートとして入手できます。
あなたは間違いなく正しい方向に進んでいると思います。 WindowsサーバーのTomcatでも同様の問題が発生していました。ただし、問題が発生していないTomcatを備えた別のサーバーがあり、動作しているサーバーにもIISがインストールされており、他のポートで実行されている)ことが唯一の大きな違いでした。周りをロードしてみましたIIS非標準ポートを使用するようにデフォルトのWebサイトをセットアップする問題のあるサーバーで、アップデートをアンインストールしなくても問題が解消されたようです。