Movatterモバイル変換


[0]ホーム

URL:


酒と泪とRubyとRailsと

systemd入門


systemdはCentOS 7やRed Hat Linuxで採用されているLinuxの起動処理やプロセス管理を行うためのしくみです。簡単にいうと、起動時にデーモンになってくれる起動設定ファイルのフォーマットです。

👽systemdファイルのサンプル

こちらはApache(httpd)のsystemdファイルのサンプルです。

# cat /usr/lib/systemd/system/httpd.service
[Unit]
Description=The Apache HTTP Server
After=network.target remote-fs.target nss-lookup.target

[Service]
Type=notify
EnvironmentFile=/etc/sysconfig/httpd
ExecStart=/usr/sbin/httpd $OPTIONS -DFOREGROUND
ExecReload=/usr/sbin/httpd $OPTIONS -k graceful
ExecStop=/usr/sbin/httpd $OPTIONS -k graceful-stop
KillSignal=SIGCONT
PrivateTmp=true

[Install]
WantedBy=multi-user.target

🐠systemdコマンドの実行と停止

systemdコマンドを作成したら、サービスの停止実行は次のコマンドで行います。

# サービスの起動
sudo systemctl start httpd

# サービスの停止
sudo systemctl stop httpd

🍣systemdコマンドの自動実行・停止

systemdサービスを起動時に自動でbootしたり、自動起動を停止させるコマンドは次のとおりです。

# 自動起動の有効化
sudo systemctlenable httpd

# 自動起動の無効化
sudo systemctldisable httpd

😸systemdファイルの格納先

ディレクトリ設定内容
/usr/lib/systemd/systemインストール時の初期設定
/etc/systemd/systemユーザーによる個別設定

🏀Unitについて

systemdでは「Unit」の単位で処理を管理します。Unitの設定ファイルは次の3つのセクションで別れています。

セクション説明
UnitUnitの依存関係や順序関係など
Installsystemctl enable/disableコマンドに影響する設定項目
タイプ固定セクションタイプごとに固有の設定((Service: プロセスの起動/停止、Mount: ファイルシステムのマウント/アンマウント、socket: ソケットの監視設定、device: システムが認識しているデバイス情報、path: パスの監視、target: 複数のUnitを取り巻とめる))

🚌Unitセクション

「Unitセクション」の主なオプションはこちら。

オプション説明
DescriptionUnitの説明
DocumentationドキュメントのURL
RequiresこのUnitの起動の前提となるUnit
WantsこのUnitの起動の前提となるUnitを記述
AfterこのUnitより先に起動すべきUnitを記述
BeforeこのUnitより後に起動すべきUnitを記述

🎂Installセクション

「Installセクション」の主なオプションはこちらです。

オプション説明
antedByenable => .wantsディレクトリにリンクを作成
RequiredByenable => .requiredディレクトリにリンクを作成
Alsoenable/disable => enable/disableするUnitを記述
Aliasenable => Unitの別名を設定

🏈Serviceセクション

オプション説明
ExecStartサービス起動時に実行するコマンド
ExecReloadサービスリロードに実行するコマンド
ExecStopサービス停止時のコマンド
ExecStartPre/ExecStartPostサービス起動前後の追加コマンド
ExecStopPostサービス停止後(異常終了時)に実行するコマンド
EnvironmentFile環境変数を読み込むファイル
Typeサービスプロセスの起動完了の判定方法(simple: フォアグラウンドで実行、forking: プロセスをフォークしてバックグラウンド実行)
PIDFilefork型サービスのメインプロセスのPIDファイル
BusNameD-Bus型サービスのbus接続名
Restartサービスプロセス停止時の再起動条件(always: 常に再起動を試みる、no: 再起動を行わない、on-failure: 異常終了時のみ再起動)
PrivateTmp(true: このサービス専用の/tmpと/var/tmpを用意する)

🐹参考リンク

🖥 VULTRおすすめ

VULTR」はVPSサーバのサービスです。日本にリージョンがあり、最安は512MBで2.5ドル/月($0.004/時間)で借りることができます。4GBメモリでも月20ドルです。 最近はVULTRのヘビーユーザーになので、「ここ」から会員登録してもらえるとサービス開発が捗ります!

📚 おすすめの書籍

Linux基礎概要起動とシャットダウンディレクトリ・ファイル権限管理についてネットワーク基礎概要OSI参照モデルInternet ProtocolTCPとUDPLinuxセキュリティresolverについてロードバランサ公開鍵認証(SSH、SSL)LinuxツールRedis導入手順memcached導入手順OpenIDの概要JPEG,PNGサイズ削減AWS S3バケットポリシーS3用のIAM作成Gitgit checkout/ブランチgit commit/変更登録git reset/変更修正git log/ログ表示git submodulegit-credentialGitHub Fork元との同期ネットワークコマンド便利コマンドcurltelnetLinuxコマンドatcolcrondatediffenvexportfindgrepreadlinkscriptsedsleepstracetimeouttrttyファイル圧縮コマンドgziptarbzip2AnsibleAnsible入門Nginxlocation設定HTTPSへリダイレクトApache.htaccessのTipsTipssystemd入門文字コード大容量ファイル検索シェルの特殊変数BusyBoxyとはマルチプロセスについて

[8]ページ先頭

©2009-2025 Movatter.jp