\n「CentOS 6系のinit.dコマンドしか知らないが、CentOS 7以降ではsystemctlが必要と聞いた」
\n
\nこの記事では、ApacheのhttpdサービスをLinuxで起動・停止・再起動する方法を、CentOS 7以降のsystemctlから旧来のinit.dまで実践的に解説します。
\n
\n
\n\n・CentOS 7以降は
systemctl start httpd でサービスを起動する\n・
systemctl stop / restart / reload / status で停止・再起動・再読込・確認ができる\n・
systemctl enable httpd でOS起動時に自動起動するよう設定できる\n・CentOS 6以前は
/etc/init.d/httpd start または service httpd start を使う\n・
systemctl status httpd でエラーログも含めた詳細な状態を確認できる\n
でも安心してください。プロのエンジニアはコマンドを暗記していません。
「現場で使える型」を効率よく使いこなしているだけです。
CentOS 7以降:systemctlでhttpdを制御する
CentOS 7以降では、サービス管理はinit.dからsystemdに移行しました。httpdの制御にはすべてsystemctl コマンドを使います。1. httpdを起動する
# httpdサービスを起動する [root@server ~]# systemctl start httpd # 起動結果を確認する [root@server ~]# 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 Mon 2026-04-08 10:00:00 JST; 3s ago
2. httpdを停止する
# httpdサービスを停止する [root@server ~]# systemctl stop httpd
3. httpdを再起動する
設定ファイルを変更した後は、変更を反映させるためにhttpdを再起動します。# httpdサービスを再起動する(接続が一瞬切れる) [root@server ~]# systemctl restart httpd
4. 設定ファイルを再読み込みする(reload)
restart は一度サービスを止めてから起動し直しますが、reload は既存の接続を維持したまま設定ファイルだけを再読み込みします。本番環境での設定変更には reload が適しています。# 既存接続を維持しながら設定を再読み込みする [root@server ~]# systemctl reload httpd
5. httpdの状態を確認する(status)
[root@server ~]# 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 Mon 2026-04-08 10:00:00 JST; 1min 30s ago Main PID: 1234 (httpd) CGroup: /system.slice/httpd.service ├─1234 /usr/sbin/httpd -DFOREGROUND ├─1235 /usr/sbin/httpd -DFOREGROUND └─1236 /usr/sbin/httpd -DFOREGROUND
OS起動時に自動起動するよう設定する(enable / disable)
デフォルトでは、サーバーを再起動してもhttpdは自動起動しません。本番サーバーでは必ずenable 設定を行いましょう。1. 自動起動を有効にする
# OS起動時にhttpdを自動起動するよう設定する [root@server ~]# systemctl enable httpd Created symlink from /etc/systemd/system/multi-user.target.wants/httpd.service to /usr/lib/systemd/system/httpd.service.
2. 自動起動を無効にする
# 自動起動を無効にする [root@server ~]# systemctl disable httpd
3. 自動起動の設定を確認する
# 自動起動の設定状態を確認する [root@server ~]# systemctl is-enabled httpd enabled
CentOS 6以前:init.d / service コマンドで制御する
CentOS 6以前では、init.dスクリプトまたはservice コマンドでhttpdを制御します。1. init.dスクリプトを直接実行する
# httpdを起動する [root@server ~]# /etc/init.d/httpd start # httpdを停止する [root@server ~]# /etc/init.d/httpd stop # httpdを再起動する [root@server ~]# /etc/init.d/httpd restart # 設定ファイルの構文チェック [root@server ~]# /etc/init.d/httpd configtest Syntax OK # httpdの状態を表示する [root@server ~]# /etc/init.d/httpd status httpd (pid 1234) is running...
2. serviceコマンドを使う(短縮形)
# serviceコマンドでhttpdを起動する [root@server ~]# service httpd start # serviceコマンドでhttpdを停止する [root@server ~]# service httpd stop # serviceコマンドでhttpdを再起動する [root@server ~]# service httpd restart
service コマンドは /etc/init.d/ スクリプトの短縮形です。どちらを使っても同じ結果が得られます。トラブルシュート
1. httpdが起動しない場合
systemctl status httpd でエラーメッセージを確認し、設定ファイルの構文エラーがないかチェックします。# 設定ファイルの構文チェック [root@server ~]# httpd -t Syntax OK # またはapachectlを使う [root@server ~]# apachectl configtest Syntax OK
2. ポートがすでに使用されている場合
80番ポートが別プロセスに占有されていると起動できません。ss -tlnp | grep :80 で確認してください。# 80番ポートを使用しているプロセスを確認する [root@server ~]# ss -tlnp | grep :80
まとめ
| やりたいこと | コマンド(CentOS 7以降) |
|---|---|
| httpdを起動する | systemctl start httpd |
| httpdを停止する | systemctl stop httpd |
| httpdを再起動する | systemctl restart httpd |
| 設定を再読み込みする | systemctl reload httpd |
| 状態を確認する | systemctl status httpd |
| 自動起動を有効にする | systemctl enable httpd |
| 自動起動を無効にする | systemctl disable httpd |
| 自動起動の設定確認 | systemctl is-enabled httpd |
Apacheの操作だけでなく、Linuxサーバーを安全に管理するための「型」を身につけたいですか?
サービスの起動・停止・自動起動設定はLinuxサーバー運用の基本中の基本です。
ネットの切れ端の情報をコピペするだけでなく、現場で通用する安全なLinuxサーバー構築の「型」を体系的に身につけたい方へ、『Linuxサーバー構築入門マニュアル(図解60P)』を完全無料でプレゼントしています。
「独学の時間がもったいない」「プロから直接、現場の技術を最短で学びたい」という本気の方には、2日で実務レベルのスキルが身につく【初心者向けハンズオンセミナー】も開催しています。
3,100名以上が実践した「型」を無料で公開中
プロのエンジニアはコマンドを暗記していません。
「現場で使える型」を効率よく使いこなしているだけです。
その「型」を図解60Pにまとめた入門マニュアルを、完全無料でプレゼントしています。
登録10秒/合わなければ解除3秒 / 詳細はこちら
- 次のページへ:使用中のプロセスが終了するのを待ってhttpdサービスを停止する|graceful-stopの使い方
- 前のページへ:Linuxで一時的に管理者(root)にスイッチする
- この記事の属するカテゴリ:Apache・Linuxtips・Webサーバー管理・サーバー管理へ戻る

無料メルマガで学習を続ける
Linuxの実践スキルをメールで毎週お届け。
登録は1分、解除もいつでも可。
登録無料・いつでも解除できます