
Centos リリース 6.7 サーバーがあり、そこに Apache 2.4 をインストールしています。サーバーには Apache 2.2 が付属していましたが、Apache 2.4 にアップグレードしました。
時々、システムが Apache 2.2 の使用に戻りますが、その理由はわかりません。
たとえば、今日、すべてのサイトがダウンしていることに気付きました。そこで、httpd のステータスを確認したところ、httpd.conf
ファイル内の構文エラーのために停止しており、起動できませんでした。
コマンドを使用してwhich
、使用中の httpd が/usr/sbin
フォルダーにあり、実際に/etc/init.d/httpd
ファイルには次の内容が含まれていることがわかりました。
apachectl=/usr/sbin/apachectl
httpd=${HTTPD-/usr/sbin/httpd}
これは間違っています。私の Apache 2.4 のインストールは にあります/opt/apache
。そこで、問題を解決するために、これらの行を次のように変更しました。
apachectl=/opt/apache/bin/apachectl
httpd=${HTTPD-/opt/apache/bin/httpd}
そしてシステムは再び Apache 2.4 を使い始めました。
問題は、どの自動インストールが実行されたかをどのように確認し、将来これが再び発生しないようにするにはどうすればよいかということです。
ちなみに、以前/usr/sbin/httpd -V
Apache の情報を取得したところ、昨年 5 月 11 日に構築されたことがわかりました。
答え1
CentOS 6.x には Apache 2.2 (httpd-2.2) が付属しており、定期的に yum で更新されます。CentOS に付属していたバージョンとは異なるバージョンを実行しているようです (/opt にあるため)。通常、システムが httpd で構成されている場合は、更新後に再起動を試みます。これを確認するには、コマンド grep -i httpd /var/log/yum.log を実行して更新日時を確認するか、rpm -qa -last | grep -i httpd を実行します。これにより、最終更新日時がわかり、停止の原因をこれらの日時と関連付けることができます。
http-2.2 が不要であることがわかっている場合は、これを削除して /opt の下のバージョンを実行するのがおそらく最善です。