RackShareRackShareラックを、シェアしよう

systemctlコマンドの使い方|サービスの起動・停止・自動起動

ハク@インフラエンジニア ・ 公開 2026-08-24 ・ 更新 2026-09-04 ・ 閲覧 13

systemctlは、systemd環境(今どきのLinux)で サービス(デーモン)を管理する コマンドです。nginxやmysqlの起動・停止・自動起動設定など、運用で毎日使うので基本を押さえましょう。

サービスの状態を確認する

systemctl status nginx

active (running) なら起動中、inactive (dead) なら停止中。ログの末尾も表示されるので、障害調査の入口にも使えます。

起動・停止・再起動

systemctl start nginx      # 起動
systemctl stop nginx       # 停止
systemctl restart nginx    # 再起動(停止→起動)
systemctl reload nginx     # 設定だけ再読み込み(無停止に近い)

設定変更を反映するとき、restart は一瞬止まりますが、reload は接続を保ったまま設定を読み直せる場合があります(対応サービスのみ)。

自動起動(サーバ再起動後も立ち上げる)

systemctl enable nginx     # OS起動時に自動起動する
systemctl disable nginx    # 自動起動しない
systemctl is-enabled nginx # 自動起動設定を確認

「サーバを再起動したらサービスが上がってこない」の多くは、enable のし忘れです。構築時に忘れずに設定します。

起動と自動起動を同時に

systemctl enable --now nginx   # enable(自動起動)+ start(今すぐ起動)

全体・ログの確認

systemctl list-units --type=service          # 稼働中のサービス一覧
systemctl --failed                            # 失敗しているサービスだけ
journalctl -u nginx --since "10:00"           # サービスのログを時刻で

よくあるハマり

  • 設定を変えたのに反映されない → reloadrestart を忘れている
  • 再起動で上がらない → enable していない
  • 起動失敗 → systemctl statusjournalctl -u でエラー原因を確認

まとめ

systemctlは「start/stop/restart/reload」でサービスを操作し、「enable/disable」で自動起動を制御します。特に enable --now と、状態確認の status、ログの journalctl -u は必修。サービス運用の基本コマンドとして手に馴染ませておきましょう。

♥ 0(いいねはログイン後)

コメント 0 件

コメントするにはログインしてください。