Apacheの起動しているかの確認方法と起動、再起動、終了のコマンド
2019/02/24
Apacheが起動しているかを確認する方法
Apacheが起動しているかを確認する方法
Apacheが起動しているかどうかを確認する方法は、以下のコマンドを root権限で実行します。
確認した環境は、AWSです。
1 2 |
[user1@test ~]$ /etc/init.d/httpd status httpd (pid 2220) を実行中... |
もしくは、
1 2 |
[user1@test ~]$ service httpd status httpd (pid 2220) を実行中... |
上記の通り「httpd (pid xxxx) を実行中…」と表示された場合は、実行されている状態です。
「httpd is stopped」と表示された場合は、Apacheは止まっています。
もしくは、
Red Hat Enterprise Linux 7 や CentOS 7 など最近の OSでは下記のコマンドでも確認ができます。
1 |
# systemctl status httpd |
正常に動作している場合は、下記の様に「Active: active」と表示されます。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
# systemctl status httpd ● httpd.service - The Apache HTTP Server Loaded: loaded (/usr/lib/systemd/system/httpd.service; enabled; vendor preset: disabled) Active: active (running) since 日 2018-07-15 00:50:34 JST; 4s ago Docs: man:httpd(8) man:apachectl(8) Process: 2618 ExecStop=/bin/kill -WINCH ${MAINPID} (code=exited, status=0/SUCCESS) Main PID: 2622 (httpd) Status: "Processing requests..." CGroup: /system.slice/httpd.service tq2622 /usr/sbin/httpd -DFOREGROUND tq2623 /usr/sbin/httpd -DFOREGROUND tq2624 /usr/sbin/httpd -DFOREGROUND tq2625 /usr/sbin/httpd -DFOREGROUND tq2626 /usr/sbin/httpd -DFOREGROUND mq2627 /usr/sbin/httpd -DFOREGROUND 7月 15 00:50:34 localhost.localdomain systemd[1]: Starting The Apache HTTP Server... 7月 15 00:50:34 localhost.localdomain systemd[1]: Started The Apache HTTP Server. |
起動していない場合は、下記の様に「Active: failed」と表示されます。
また、不具合があって起動ができない場合は、出力されているログを確認して不具合の修正を行うことができます。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
# systemctl status httpd ● httpd.service - The Apache HTTP Server Loaded: loaded (/usr/lib/systemd/system/httpd.service; enabled; vendor preset: disabled) Active: failed (Result: exit-code) since 日 2018-07-15 01:12:44 JST; 3s ago Docs: man:httpd(8) man:apachectl(8) Process: 2678 ExecStop=/bin/kill -WINCH ${MAINPID} (code=exited, status=1/FAILURE) Process: 2677 ExecStart=/usr/sbin/httpd $OPTIONS -DFOREGROUND (code=exited, status=1/FAILURE) Main PID: 2677 (code=exited, status=1/FAILURE) 7月 15 01:12:44 localhost.localdomain systemd[1]: Starting The Apache HTTP Server... 7月 15 01:12:44 localhost.localdomain httpd[2677]: (2)No such file or directory: AH02291: Cannot access directo...nf:6 7月 15 01:12:44 localhost.localdomain httpd[2677]: AH00014: Configuration check failed 7月 15 01:12:44 localhost.localdomain systemd[1]: httpd.service: main process exited, code=exited, status=1/FAILURE 7月 15 01:12:44 localhost.localdomain kill[2678]: kill: cannot find process "" 7月 15 01:12:44 localhost.localdomain systemd[1]: httpd.service: control process exited, code=exited status=1 7月 15 01:12:44 localhost.localdomain systemd[1]: Failed to start The Apache HTTP Server. 7月 15 01:12:44 localhost.localdomain systemd[1]: Unit httpd.service entered failed state. 7月 15 01:12:44 localhost.localdomain systemd[1]: httpd.service failed. Hint: Some lines were ellipsized, use -l to show in full. |
ちなみに、Apacheがインストールされているか、また、Apacheのバージョンを調べる場合は、下記のコマンドを実行します。
1 |
# httpd -v |
Apacheのインストールの他、VirtualBoxに LAMP環境を構築する方法は、下記を参考にしてください。
VirtualBoxにCakePHP3を設置。必要なCentOS、Apache、PHP、MySQL、Composerをインストールし設定する
Apacheの起動確認は root権限で実行する
root権限がない場合は、「httpd status unknown due to insufficient privileges.」や「httpd.worker status unknown due to insufficient privileges.」といったエラーメッセージが表示されます。どちらも、「十分な権限がないため、httpdのステータスが不明です。」というメッセージです。
そのため、確認コマンドを実行する際には「sudo」コマンドを利用するか、rootユーザに変更してから実行します。
1 2 |
[user1@test ~]$ sudo /etc/init.d/httpd status [user1@test ~]$ sudo service httpd status |
Apacheを起動するコマンド
Apacheが起動しているかを確認したのち、Apacheを起動させる場合は下記のコマンドで起動させます。
この Apache起動コマンドも root権限が必要になります。
1 2 |
[user1@test ~]$ /etc/init.d/httpd start Starting httpd: [ OK ] |
もしくは、
1 2 |
[user1@test ~]$ service httpd start Starting httpd: [ OK ] |
もしくは、
1 |
[user1@test ~]$ apachectl start |
「apachectl start」で起動した場合は、起動したかどうかのメッセージは表示されません。
もしくは、
1 |
[user1@test ~]$ systemctl start httpd |
「systemctl start httpd」で起動した場合は、起動したかどうかのメッセージは表示されません。
Apacheを停止するコマンド
Apacheを停止させる場合は、下記のコマンドで停止させます。
この Apache停止コマンドも root権限が必要になります。
1 2 |
[user1@test ~]$ /etc/init.d/httpd stop Stopping httpd: [ OK ] |
もしくは、
1 2 |
[user1@test ~]$ service httpd stop Stopping httpd: [ OK ] |
もしくは、
1 |
[user1@test ~]$ apachectl stop |
「apachectl stop」で停止した場合は、停止したかどうかのメッセージは表示されません。
もしくは、
1 |
[user1@test ~]$ systemctl stop httpd |
「systemctl stop httpd」で起動した場合は、停止したかどうかのメッセージは表示されません。
Apacheを再起動するコマンド
Apacheを再起動する場合は、一度停止コマンドを実行し、改めて起動コマンドを実行する、という方法もありますが、それをまとめて行う再起動のコマンドもあります。
1 2 3 |
[user1@test ~]$ /etc/init.d/httpd restart Stopping httpd: [ OK ] Starting httpd: [ OK ] |
もしくは、
1 2 3 |
[user1@test ~]$ service httpd restart Stopping httpd: [ OK ] Starting httpd: [ OK ] |
もしくは、
1 2 3 |
[user1@test ~]$ /etc/init.d/httpd condrestart Stopping httpd: [ OK ] Starting httpd: [ OK ] |
もしくは、
1 2 |
[user1@test ~]$ /etc/init.d/httpd reload Reloading httpd: [ OK ] |
もしくは、
1 2 |
[user1@test ~]$ /etc/init.d/httpd graceful Gracefully restarting httpd: |
もしくは、
1 |
[user1@test ~]$ systemctl restart httpd |
もしくは、
1 |
[user1@test ~]$ systemctl reload httpd |
Apacheを再起動するコマンドは複数ありますが、多くの場合は「graceful」を使用します。
詳細は、下記を確認していただきたいのですが、「graceful」は稼働中の Webサーバのサービスを止めずに再起動することができるためです。
ただし、「graceful」だと、設定変更の内容が反映されない場合もありますので、開発環境での再起動や、httpd.confの設定を変更したときなどは、「restart」を使用する方が確実です。
また、「systemctl」コマンドで「graceful」と同様の再起動をする場合は「reload」を使います。
/etc/init.d/httpd restart service httpd restart
コマンドが入力されると、Webサービスをすぐに停止し、再起動を実行します。
実行中のリクエストの処理は中止されます。
子プロセスがすべて停止したのち、親プロセスも停止します。再起動の際に親プロセスの IDは変更されます。
/etc/init.d/httpd condrestart
「restart」と同じく、コマンドが入力されると、Webサービスをすぐに停止し、再起動を実行します。
実行中のリクエストの処理は中止されます。
ただし、Apacheが起動しているときのみ再起動を実行します。
/etc/init.d/httpd reload
Webサービスを終了せず、変更した設定の反映を行います。
実行中のリクエスト処理は中止されます。
子プロセスをすべて停止しますが、親プロセスは停止しません。その後、設定ファイルを再読み込みし、新しい子プロセスを起動します。
設定ファイルに誤りがある場合は、親プロセスはエラーとともに終了します。
/etc/init.d/httpd graceful systemctl reload httpd
Webサービスを終了せず、変更した設定の反映を行います。
実行中のリクエスト処理は中止されません。
子プロセスに現在のリクエストの処理が終了後に停止するよう処理します。親プロセスは設定ファイルを再読み込みし、新しいリクエストに対しては、新しい設定で応答を行います。
GoogleAdwords
GoogleAdwords
この記事が参考になったと思いましたらソーシャルメディアで共有していただけると嬉しいです!
関連記事
-
日本語は2バイト文字?3バイト文字?
日本語は2バイトという理解でしたが、UTF-8では事情が違います。その説明です。
-
.gitignoreで無視フォルダの中の特定のファイルを除外「!(否定文)」を使う場合の注意点
Gitで管理する対象、対象外のファイル、フォルダの指定は .gitignoreに記述する。その基本的な記述の方法に加え、無視対象にしたフォルダの中の特定のファイルを管理対象にする記述方法を解説。
-
XSERVERにCakePHP3をインストール。コマンドラインのPHPのバージョンを変更する方法で解決
XSERVERにCakePHP3をインストールするときに問題となるのはサーバーパネルとSSH接続の時とで認識されるPHPのバージョンの違いがあるため。その解消方法を解説する。
-
Webサイト公開時に重複コンテンツを排除する.htaccessのリダイレクトの設定のまとめ
サイトを公開する際にはURLの正規化は必須です。正規化とは何かを解説し、.htaccessに設定すべきリダイレクトの設定を具体的に説明します。
-
さくらサーバのmb_send_mailでメール送信時にmalformed header from script ‘xxx.php’: Bad header: xxxのエラーが
さくらインターネットのレンタルサーバからPHPのmb_send_mail()関数を利用してメールを送信するとInternal Server Errorが発生。その原因は、メールアドレスが登録されていないこと。
-
サイト更新、引越時に.htaccessでリダイレクトする方法解説
サイト更新,引越しなどでサイトのURLが変わった場合のリダイレクトを.htaccessのRewriteEngineを使って処理する方法の解説です。
-
So-netのレンタルサーバHSはヤバイ・借りてはいけないレンタルサーバリスト
餅は餅屋。サーバはサーバ屋が提供するサービスを利用するべきという記事で、単独でSo-netを紹介。OEMでサービスの提供を受けているだけなので何とも残念すぎる内容。
-
.htaccessのmod_expiresでブラウザキャッシュで高速化でSEO対策!
Page Speed Insightsの指摘事項のファイルのブラウザキャッシュの設定方法。解説もしてるけど、.htaccessにコピペするだけの簡単設置で効果抜群!SEOにも威力を発揮!
-
Pythonをコマンドラインで実行。全角文字(日本語)を引数にする場合の対処方法
Pythonをコマンドラインで実行する際、引数を付与して実行する方法の解説。その時問題となる日本語(全角文字)を利用する方法を解説。Windows環境での解説。
-
PythonでMySQLへの接続ライブラリMySQL-pythonの簡単インストール方法
PythonはMySQLに接続するライブラリは別途インストールが必要。なのでMySQL-pythonライブラリのインストール方法とサンプルスクリプトで動作検証までを解説。