Apacheを再起動せずにサイトのApache構成をリロードする方法


141

私は、サイトが有効なディレクトリにある自分のWebサイトの1つに対して変数AllowOverrideを編集しました。Apacheを再起動せずに新しい構成を再ロードするにはどうすればよいですか?出来ますか?



1
すべての答えが間違っているようです。
Tigran 2018

回答:


182

コマンドを使用して可能でなければなりません

sudo /etc/init.d/apache2 reload

それが役に立てば幸い


11
これは正しくないと確信しています。Ubuntuサーバーのinit.d-scriptを見ると、reloadはグレースフルリスタートを指します。つまり、リロードは実際には再起動ですが、正常に行われます。私の意見では、Apacheはサービスを中断せずにリロードすることはできません。
SteffenNielsen 2017

4
アルマンの答えは正しいです。ほとんどのApache initスクリプトは、「apachectl restart」と同等のSIGHUPを送信します。これは、OPが特に回避するように要求しました。他のApache initスクリプトは、SIGUSR1を送信します。これは、「apachectl graceful」と同じです。これは、再起動でもありますが、より適切に行われ、Arumanの回答が提供します。
ブライアンラーセン2017年

@SteffenNielsen私はあなたが正しいと思います...ロードバランサーを使用して、再起動するものを無効にし、再起動し、dbのバージョン管理を処理し、他のapacheサーバー/コンテナーに対して同じことを行うことで問題ないでしょう。K8sはこれらの問題のいくつかを取り除きます。
Ray Foss

1
さて、ここで何が起こるか、メインのapache2プロセスは変更されませんが、子またはワーカー(正しい用語はわかりません)はすべて再起動します。これらのPIDは実際に変更されます。
Elijah Lynn

1
そして、この場合の優雅さは、それらの児童労働者が殺されて復活する前に、彼らの要求への対応を終えたことを意味すると思います。
Elijah Lynn


28

行う

apachectl -k graceful

詳細については、このリンクを確認してください:http : //www.electrictoolbox.com/article/apache/restart-apache/


18
これにより、Apache httpdデーモンが再起動されます。この質問では特に回避するように求められました。
cs01 2015

6
@ cs01 httpdデーモンが再起動されることをどこで読みますか?回答で提供されたリンクで私が読んだすべてが次のように述べていますapachectl graceful: Gracefully restarts the Apache daemon by sending it a SIGUSR1. If the daemon is not running, it is started. This differs from a normal restart in that currently open connections are not aborted.
Tyler Collier

5
あなたが投稿したドキュメンテーションの最初の文はそれだけを言っていますね?
cs01 2017

3
@ cs01彼らが再起動を心配する理由を理解する必要があります。それは指定されていませんが、私の推測では、接続自体を再起動するのではなく、接続を中止したくないと思います。グレースフルリスタートは、ほとんどの場合、これをうまく実行します。長期間の接続がある場合、これはおそらく問題になります。グレースフルリスタートが行うのは親プロセスの再初期化だけです。つまり、pidは変更されません。通常のリスタートではプロセスツリー全体が破棄され、新しいプロセスツリーが生成されます。したがって、タイラーコリアーの回答は完全に正当です。
krad

7

Apache 2.4、非systemd(CentOS 6.x、Amazon Linux AMIなど)およびsystemd(CentOS 7.xなど)向けに更新:

現在のスレッドで何をしたいかに応じて、Apacheプロセスに設定を再読み込みさせる方法が2つあります。アイドル時に終了するか、直接終了するかです。

apachectl -kコマンドとして使用することをお勧めします。systemdの場合、コマンドは次のように置き換えられます。httpd -k

apachectl -k graceful または httpd -k graceful

Apacheはアイドル時にスレッドが終了するようにアドバイスし、次にApacheが構成を再ロードします(それ自体は終了しません)。これは、統計がリセットされないことを意味します。

apachectl -k restart または httpd -k restart

これは、プロセスがスレッドを終了するという点で停止に似ていますが、プロセスはそれ自体を終了するのではなく、構成ファイルをリロードします。

ソース:https : //httpd.apache.org/docs/2.4/stopping.html


apache 2.4.39(win)は、次のものhttpd -k gracefulのみをサポートしていませんhttpd -k restarthttpd /?>-k restart : tell running Apache to do a graceful restart
Andreas Dietrich
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.