Ubuntu、RedHat、Gentoo、その他のLinuxディストリビューションでApacheを再起動する
オープンソースプラットフォームでWebサイトをホスティングしている場合、このプラットフォームはApacheである可能性が非常に高いです。 この場合、Apacheサーバーを使用してホストしている場合は、 Apacheの httpd.confファイルや別の構成ファイル(新しい仮想ホストの追加など)の編集作業中に、 Apacheを再起動する必要があります。変更が有効になります。 これは恐ろしいように見えるかもしれませんが、幸いにもこれは非常に簡単です。
実際には、約1分でこれを行うことができます(この記事を読むのにかかる時間を考慮しないで、ステップの手順でステップを得ることができます)。
入門
Linux Apache Webサーバーを再起動するには、init.dコマンドを使用するのが最善の方法です。 このコマンドは、Red Hat、Ubuntu、Gentooなど、多くのLinuxディストリビューションで利用できます。 これを行う方法は次のとおりです。
- SSHまたはtelnetを使用してWebサーバーにログインし、システムにinit.dコマンドが含まれていることを確認します。 これは通常/ etcディレクトリにありますので、そのディレクトリをリストします:
ls / etc / i *
- サーバーがinit.dを使用している場合は、その指定されたフォルダーに初期設定ファイルのリストが表示されます。 次のフォルダにあるapacheまたはapache2を探します。 init.dを持っていてApache初期化ファイルがない場合は、この記事の「Init.dを使わずにサーバーを再起動する」という見出しのセクションに進みます。それ以外の場合は続行できます。
- init.dとApache初期化ファイルがある場合は、次のコマンドを使用してApacheを再起動できます。
/etc/init.d/apache2 reload
このコマンドを実行するには、rootユーザーとしてsudoする必要があります。
リロードオプション
再ロードオプションを使用すると、サーバーが稼働し続ける(プロセスが強制終了され再起動されない)ため、Apacheサーバーを再起動するための最良の方法です。 代わりに、httpd.confファイルをリロードするだけです。通常は、このインスタンスでやりたいことです。
リロードオプションが機能しない場合は、代わりに次のコマンドを使用することもできます。
- /etc/init.d/apache2 restart - このコマンドは、サーバプロセスを強制終了して再起動します。
- /etc/init.d/apache2 stop - このコマンドはサーバープロセスを終了させます
- /etc/init.d/apache2 start - このコマンドはサーバを起動します(サーバがすでに起動している場合はエラーメッセージを表示します)
Init.dを使用せずにサーバーを再起動する
これで、サーバーにinit.dがない場合にスキップするように求められました。 これがあなたなら、絶望しないでください。サーバーを再起動できます。 単にapachectlコマンドで手動で行う必要があります。 このシナリオの手順は次のとおりです。
- SSHまたはtelnetを使用してWebサーバーマシンにログインする
- Apacheコントロールプログラムを実行します。
優雅なapachectl
このコマンドを実行するには、rootユーザーとしてsudoする必要があります。
apachectl gracefulコマンドは、開いている接続を中断することなく、サーバーを正常に再起動することをApacheに指示します。 再起動を開始する前に自動的に設定ファイルをチェックして、Apacheが死んでいないことを確認します。
apachectl gracefulがサーバーを再起動しない場合は、いくつか試してみることができます。
- apachectl restartを実行してサーバーを再起動します。 サーバーが稼働していない場合は、開始されます。 また、このコマンドは構成テストを実行して、 Apacheが再起動時に停止しないようにします。
- Apacheサーバーを停止するためのapachectl stop
- apachectlを起動してApacheサーバを起動します(Apacheが動作している場合はエラーメッセージが表示されます)
- 設定ファイルの構文をテストするためのapachectl configtest
Apacheサーバーを再起動するためのヒント:
- init.d reloadとapachectl gracefulは両方とも設定ファイルをリロードし、正常にWebサーバーを再起動します。 現在の接続はすべて完了できます。 これが好ましい方法であり、最初に試してください。
- init.d restartとapachectl restartは設定ファイルを再ロードして再起動します。 現在の接続はすぐに終了します。
- サーバーが稼働していない場合、これらのコマンドはサーバーを起動します。
- これらのコマンドのどちらも動作しない場合は、init.d stopまたはapachectl stopコマンドを使用してApacheサーバーをオフにして(短時間)、少なくとも10秒待ってからinit.dを実行します。start apachectl start
- これでうまくいかない場合は、設定ファイルをチェックして、apachectl gracefulを実行して問題がないことを確認する必要があります