CentOSで自動起動中のサービス一覧を確認する

CentOSで自動起動中のサービス一覧を確認する サーバー設定

CentOSで自動起動中のサービスを確認するコマンドの解説です。

CentOS 8/7の場合は systemctl list-unit-files コマンド、CentOS 6以下の場合は chkconfig --list コマンドを使用します。

サーバー上で稼働するサービスは数多く存在しますが、設定コマンドは殆ど共通です。
OSのバージョン別に、設定方法と確認方法について詳しく紹介します。

CentOS 8 と CentOS 7 の違い、yum やミドルウェアにも要注意

CentOS 8 と CentOS 7 の違い、yum やミドルウェアにも要注意



CentOSのサービス(デーモン)とは

サーバー上で常に起動し続けるプログラムのことを「サービス」または「デーモン」と呼びます。
Windowsでも同様で、裏側で動き続けているプログラムは「サービス」です。

通常のアプリケーションとは異なり、バックグラウンドで常に動作している点が特徴です。
Webサーバや DBサーバなど、接続を待ち受けるプログラムでよく利用されています。

 
なお、サービスやデーモンは必要以上に起動しないことが重要です。
サーバーのメモリ使用量を抑えるためにも、不要なサービスは見直して停止させましょう。

CentOS 8/CentOS 7でサービス一覧を確認する

CentOS 7以降の場合、サービス関連の設定には systemctl コマンドを利用します。
左側がサービス名、右側が設定状態を表しており、enabled の場合は自動起動がONです。

コマンド実行例

# systemctl list-unit-files -t service
nginx.service       enabled
sshd.service        enabled

特定のサービスだけを確認する場合は systemctl is-enabled <サービス名> です。
enabled と表示されると自動起動がONとなっています。

# systemctl is-enabled nginx
enabled

 
サービスを自動起動するためには systemctl enable <サービス名> を実行します。
例として、nginxの自動起動を有効化する場合は以下のコマンドです。

# systemctl enable nginx

サービスの自動起動をやめるには systemctl disable <サービス名> を実行します。
例として、nginxの自動起動を無効化する場合は以下のコマンドです。

# systemctl disable nginx

CentOS 6でサービス一覧を確認する

CentOS 6以前の場合、サービス関連の設定には chkconfig コマンドを利用します。
左側がサービス名、右にランレベルごとの設定状態が並んで出力されます。

ランレベルとはLinuxの動作モードのことで、多くの場合は3もしくは5に設定されているはずです。
runlevel コマンドを実行することで確認できます。

コマンド実行例(ランレベル3なので3の欄を確認する)

# runlevel
N 3

# chkconfig --list
nginx           0:off   1:off   2:on    3:on    4:on    5:on    6:off
sshd            0:off   1:off   2:on    3:on    4:on    5:on    6:off

特定のサービスだけを確認する場合は chkconfig --list <サービス名> です。

# chkconfig --list nginx
nginx           0:off   1:off   2:on    3:on    4:on    5:on    6:off

 
サービスを自動起動するには chkconfig <サービス名> on を使用します。
例として、nginxを自動起動する場合は以下のコマンドとなります。

# chkconfig nginx on

サービスの自動起動を止めるには chkconfig <サービス名> off を使用します。
例として、nginxの自動起動を無効化する場合は以下のコマンドとなります。

# chkconfig nginx off

まとめ

CentOS におけるサービス(デーモン)の役割と、自動起動設定について解説しました。
CentOS 6以前であれば chkconfig、CentOS 7/8以降であれば systemctl を利用します。

chkconfigsystemctlでは、引数の順番が異なるため注意が必要です。
サーバー構築時や設定時によく使うため、概要だけでも理解しておきましょう。

AWS とは何か? クラウドと AWS の活用事例をわかりやすく解説

CentOS でサーバーが重いときの確認コマンド