Linuxのsystemd入門|サービス管理・ユニットファイルの書き方を現役講師が解説
Skills Boost Infra Academy
Linuxのsystemd入門|サービス管理・ユニットファイルの書き方を現役講師が解説
systemctlの基本操作からカスタムserviceファイルの作成まで実践的に解説
Linuxのサービス管理はsystemdが標準となっています。systemctlコマンドの使い方からカスタムunitファイルの作成まで、現場で使えるレベルに解説します。
「サービスが起動しない」「自動起動設定したはずなのに再起動後に動いていない」——こうしたトラブルの多くはsystemdを正しく理解することで解決できます。
T
吉田たかし|元NWエンジニア・現役IT講師
CCNA/CCNP/LPIC-1/AZ-900取得。14年のインフラエンジニア経験を持つ現役IT講師。Linux研修でsystemdのトラブル対応を多数教えてきた経験から、現場で最も使うsystemdの操作を解説します。
📌 この記事のポイント
✅ systemdはLinux起動後のサービス管理・依存関係解決・ジャーナルログ管理を担うシステムマネージャ
✅ systemctl start/stop/enable/disable/status が基本5操作。enableで自動起動を設定する
✅ カスタムServiceユニットファイルを/etc/systemd/system/に作成することで独自プロセスをsystemd管理下に置ける
1. systemctlの基本コマンド一覧
| コマンド | 動作 |
|---|---|
| systemctl start nginx | サービスを即時起動 |
| systemctl stop nginx | サービスを即時停止 |
| systemctl restart nginx | サービスを再起動 |
| systemctl reload nginx | 設定ファイルをリロード(停止せず) |
| systemctl enable nginx | OS起動時の自動起動を有効化 |
| systemctl disable nginx | 自動起動を無効化 |
| systemctl status nginx | サービスの状態・直近ログを表示 |
| systemctl is-active nginx | active/inactiveを返す(スクリプト向け) |
| systemctl daemon-reload | unitファイル変更後に必ず実行 |
2. カスタムServiceユニットファイルの作成
# /etc/systemd/system/myapp.service [Unit] Description=My Python App After=network.target [Service] Type=simple User=appuser WorkingDirectory=/opt/myapp ExecStart=/usr/bin/python3 /opt/myapp/main.py Restart=on-failure RestartSec=5 [Install] WantedBy=multi-user.target
作成後は systemctl daemon-reload → systemctl enable --now myapp で有効化。
3. journalctlでログを確認する
| コマンド | 用途 |
|---|---|
| journalctl -u nginx | nginxサービスのログを全件表示 |
| journalctl -u nginx -f | リアルタイムでログを追跡(tail -f相当) |
| journalctl -u nginx –since today | 今日のログのみ表示 |
| journalctl -p err -u nginx | ERRORレベル以上のログのみ表示 |
| journalctl –disk-usage | ジャーナルのディスク使用量確認 |
4. よくあるトラブルと対処
※ systemdの動作はLinuxディストリビューション・バージョンによって一部異なります。実際の環境でman systemd.serviceも合わせてご確認ください。
ABOUT ME



