Apacheはどのように再起動しますか?


249

SLESからUbuntuに切り替えて、ローカルサーバーを再起動したい。SLESで使用したもの:

rcapache2 restart

しかし、これはどういうわけかUbuntuで機能しないようです。:(

Apacheを再起動するにはどうすればよいですか?

回答:


364

sudo service apache2 restart Red Hatから借りてきた方法です。


1
私が考えるserviceLSB方法であり、今のDebianとUbuntuがいることを、ほとんどのディストリビューションで動作するはずです最終的にそれを得ました。
マリウスゲドミナス

10
sudo restart apache2で動作していませんUbuntu 12.04。他のUbuntuバージョンがわからない。
saji89

2
@ saji89あなたがする必要があるsudo service apache2 restart、それが動作します。
Kevdog777 14

9
sudo restart apache2Ubuntu 14.04では動作しません。sudo service apache2 restartタフに働いています。
toesslab 14年

105

Apache を再起動しますか、それとも設定を正常にリロードしますか?

誰もが最初の質問に答えていました。あなたは2番目を行うことができます

sudo service apache2 reload

グレースフルリロードは少し高速で、ダウンタイムはありません。

注意点が1つあります。Apacheの設定ファイルにエラーが含まれている場合(たとえば、存在しないディレクトリにログファイルを設定する場合)、サーバーにエラーメッセージを出力せずにサーバーが静かに終了することがあります。他のほとんどのエラーがでキャッチされているapache2ctl configtestものservice apache2 reloadで、実際のリロードを行う前に実行されますapache2ctl graceful


1
はい!Webサイトのビューアーを開始せずに再起動する場合は、優雅な使用がはるかに優れています。
秒に切断

私はそれができるという利点だことがわかり、再起動 Apacheが、その後実行されていない場合、それはすることを開始します。-> リロード開始しますか?
トーベンGundtofte・ブルーン

私はそうは思いません-さらに悪いことに、設定ファイルで構文エラーを犯した場合、リロードは実行中のApacheを停止します。
マリウスゲドミナス

3
sudo apache2ctl configtest正常に再起動する前に必ず実行してください。configに構文エラーがある場合、グレースフルリスタートは失敗し、Apacheは停止します。
ミッコランタライネン16年

@MikkoRantalainen:おかげで、私は生をドロップするように答えを編集したapache2ctl gracefulばかりお勧めしますし、代わりにservice apache2 reload実行される、configtest前にgraceful
マリウスゲドミナス16年

26

Ubuntuで(Apacheだけでなく)サービスを開始/停止するための推奨される方法は、start / stop / reloadコマンド(実際にはupstartの 一部であるinitctlプログラムへのシンボリックリンクです)を使用することです。

レガシー/etc/init.dスクリプトを使用するサービスの場合、対応するスクリプトは正しいパラメーターで呼び出されます。upstartインフラストラクチャを使用するサービスの場合、適切なイベント遷移がinitctlを介してupstartデーモンに通知され ます 。

したがって、UbuntuでApacheを開始/停止/リロード/再起動するには、次を使用できます。

sudo start apache2
sudo stop apache2
sudo reload apache2
sudo restart apache2

20
sudo /etc/init.d/apache2 restart

もちろん、スワップアウトできるrestartためstopstartと(私は思います)reload


2
これを最近のUbuntuで実行すると、新しい方法で実行することについてのメッセージが表示されますが、目的のコマンドは実行されます。
jfmessier

ApacheがUpstartに移行したことにまだ気付いていませんでした。
オリ

そのメッセージはもう表示されません。
ティム


11

マリウスが言ったように、グレースフルは再起動のいずれかに使用されるべきです

sudo apache2ctl graceful

または

sudo apache2ctl graceful-stop

Apacheを正常に停止します。

これらのコマンドは、ユーザーがWebページの半分を取得しないように、Webサーバーの再起動/停止の前に、Webページに対するすべての要求が処理されるまで待機します。


4

まず、このコマンドを使用してステータスを確認します

sudo service apache2 status

その後、実行中のサービスを停止します

sudo service apache2 stop

次に、このコマンドを使用します。

sudo /opt/lampp/lampp start

このソリューションは私のために働いています。


2

システムにApache 2.4バージョンをインストールしている場合、ローカルシステムでApacheサーバーを再起動または停止するには、次のコマンドを実行する必要があります。

./apachectl start

または、restartを使用して、要件に応じて停止することもできます。これはテスト済みのコードです


1

Apacheの再起動にサービスを使用できます

service apache2 restart

すべての機能を使用できます(停止-開始-リロード)


1

Apacheサーバーを再起動する最良の方法は、次のコマンドを使用することです。

$ sudo service apache2 restart

変更次のコマンドを使用できます。

$ sudo /etc/init.d/apache2 restart

1
コマンドソース:Apache Ubuntuの再起動
Razor Rassh

0
sudo systemctl restart apache2

systemctl-systemdシステムとサービスマネージャーを制御します。

systemctlは、「systemd」システムおよびサービスマネージャーの状態を内省し、制御するために使用できます。


-1

あなたがルートの場合:(Ubuntuではルートは無効になっていると思う、 'sudo'コマンドを使うより!)

$ /etc/init.d/apache stop
$ /etc/init.d/apache start
$ /etc/init.d/apache restart
$ /etc/init.d/apache reload 

(a2ensiteまたはa2dissiteを使用した場合、Apache構成を再ロードする必要があります)


root無効ではありません。自分でパスワードを与えない場合はパスワードがありません。
ミカエルアウノ

1
され//stop apache、コメントすることになって?もしそうなら、標準のシェル表記はbash #stop apache//動作しません
Mikel

@MikaelAunoルートアカウントにパスワードがない場合は無効になります
-T0xicCode

1
@ xav0989それは定義の問題です。もちろん、として直接ログインしたりroot、パスワードをroot必要とする方法でログインしたりすることはできませんrootが、になる方法は他にもありますroot。たとえば、sudo -i続けて試してみると、whoami実際にとしてログインしていることがわかりますroot。また、ps aux | grep root実行すると、システム上で多くのプロセスが既に実行されていることがわかりますroot。したがって、ほぼ間違いなく、root無効化されていません。
ミカエルアウノ

@MikaelAunoまたはsudo -E -s。無効にすることによりroot、として直接ログインすることはできないが、としてプロセスを実行することができることを意味していると仮定していますroot
T0xicCode
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.