コマンドでApacheのhttpdを起動と停止と再起動する方法

提供: Ubuntu入門
移動: 案内検索
スポンサーリンク

Apacheのhttpdプロセスの起動, 停止, 再起動 について説明します。このドキュメントは、3分程度で読めます。

読み方

Apache
あぱっち

概要

Apacheのプロセス httpd をコントロールする方法は、

  • apachectl (apache2ctl)
  • service

のどちらかを利用します。

apachectlのほうが、graceful が使えるので、実際のサービス運営には良いでしょう。 ステータスの確認についても apachectl と service で表示が異なります。好みのほうを利用すると良いでしょう。

インストール

sudo apt install apache2

apachectl による制御

起動

sudo apachectl start

停止

sudo apachectl stop

優雅な停止(graceful-stop)

ただの停止(stop)との違いは、現在オープンしているコネクションをアボートしません。 現在のコネクションの処理が終わるまで、httpdは停止しません。

sudo apachectl graceful-stop

再起動

sudo apachectl restart

優雅な起動(graceful)

ただの再起動(restart)との違いは、現在オープンしているコネクションをアボートしません。 restartは、接続中のコネクションを切ってしまうので、サービスを利用しているユーザからはサービスがおかしくなったように見えるかもしれません。gracefulは、コネクションが切れる状態になるまで、restartが始まりません。

sudo apachectl graceful

ステータスの確認

$ sudo apachectl status
               Apache Server Status for localhost (via 127.0.0.1)
 
   Server Version: Apache/2.4.10 (Ubuntu)
   Server MPM: prefork
   Server Built: Jul 24 2015 17:25:18
     __________________________________________________________________
 
   Current Time: Tuesday, 03-Nov-2015 19:10:18 JST
   Restart Time: Tuesday, 03-Nov-2015 19:04:47 JST
   Parent Server Config. Generation: 1
   Parent Server MPM Generation: 0
   Server uptime: 5 minutes 30 seconds
   Server load: 1.57 1.76 1.74
   Total accesses: 0 - Total Traffic: 0 kB
   CPU Usage: u0 s0 cu0 cs0
   0 requests/sec - 0 B/second -
   1 requests currently being processed, 4 idle workers
 
W____...........................................................
................................................................
......................
 
   Scoreboard Key:
   "_" Waiting for Connection, "S" Starting up, "R" Reading Request,
   "W" Sending Reply, "K" Keepalive (read), "D" DNS Lookup,
   "C" Closing connection, "L" Logging, "G" Gracefully finishing,
   "I" Idle cleanup of worker, "." Open slot with no current process

設定の確認

sudo apachectl configtest

起動

serviceコマンドによる制御

起動

sudo service apache2 start

停止

sudo service apache2 stop

再起動

sudo service apache2 restart

ステータスの確認

$ service apache2 status
● apache2.service - LSB: Apache2 web server
   Loaded: loaded (/etc/init.d/apache2)
   Active: active (running) since 火 2015-11-03 11:10:37 JST; 7h ago
     Docs: man:systemd-sysv-generator(8)
  Process: 3877 ExecReload=/etc/init.d/apache2 reload (code=exited, status=0/SUCCESS)
  Process: 1218 ExecStart=/etc/init.d/apache2 start (code=exited, status=0/SUCCESS)
   CGroup: /system.slice/apache2.service
           ├─1273 /usr/sbin/apache2 -k start
           ├─3895 /usr/sbin/apache2 -k start
           ├─3896 /usr/sbin/apache2 -k start
           ├─3897 /usr/sbin/apache2 -k start
           ├─3898 /usr/sbin/apache2 -k start
           └─3900 /usr/sbin/apache2 -k start
 
11月 03 11:10:36 u0 systemd[1]: Starting LSB: Apache2 web server...
11月 03 11:10:36 u0 apache2[1218]: * Starting web server apache2
11月 03 11:10:37 u0 apache2[1218]: *
11月 03 11:10:37 u0 systemd[1]: Started LSB: Apache2 web server.
11月 03 11:17:42 u0 apache2[3877]: * Reloading web server apache2
11月 03 11:17:42 u0 apache2[3877]: *
11月 03 11:17:42 u0 systemd[1]: Reloaded LSB: Apache2 web server.

まとめ

  • Apache は、serviceコマンドとapachectlで制御できます。
  • apachectl は、graceful / graceful-stop が使えるので、実際のウェブサービス提供者は、使ったほうが良いです。

関連項目



スポンサーリンク