詳細CentOSの7サービス制御および起動プロセスの最適化

CentOSの7つのシステム・サービス制御

ではCentOS、デフォルトのサービス上のシステム、各種のシステム制御スクリプト/usr/lib/systemdディレクトリ。systemctl指定された制御コマンドシステム・サービス・ツールを達成することができます。

  • systemctlコマンド

    • 一般的なフォーマット

    systemctl [控制类型] [服务名称]

    • 制御タイプ

    start(启动):运行指定的系统服务程序,实现服务功能。

    stop(停止):终止指定的系统服务程序,关闭相应的功能。

    restart(重启):先退出,再重新运行指定的系统服务程序。(慎用)

    reload(重载):不退出服务程序,只是刷新配置。

    status(查看状态):查看指定的系统服务的运行状态及相关信息。

[root@localhost ~]# systemctl start httpd     //启动httpd服务
[root@localhost ~]# systemctl status httpd    //查看httpd服务运行状态及相关信息
● httpd.service - The Apache HTTP Server
   Loaded: loaded (/usr/lib/systemd/system/httpd.service; disabled; vendor preset: disabled)
   Active: active (running) since 二 2019-08-27 14:18:52 CST; 32s ago
     Docs: man:httpd(8)
           man:apachectl(8)
 Main PID: 1896 (httpd)
   Status: "Total requests: 0; Current requests/sec: 0; Current traffic:   0 B/sec"
   CGroup: /system.slice/httpd.service
           ├─1896 /usr/sbin/httpd -DFOREGROUND
           ├─1899 /usr/sbin/httpd -DFOREGROUND
           ├─1900 /usr/sbin/httpd -DFOREGROUND
           ├─1901 /usr/sbin/httpd -DFOREGROUND
           ├─1903 /usr/sbin/httpd -DFOREGROUND
           └─1905 /usr/sbin/httpd -DFOREGROUND

8月 27 14:18:52 localhost.localdomain systemd[1]: Starting The Apache HTTP Se...
8月 27 14:18:52 localhost.localdomain httpd[1896]: AH00558: httpd: Could not ...
8月 27 14:18:52 localhost.localdomain systemd[1]: Started The Apache HTTP Ser...
Hint: Some lines were ellipsized, use -l to show in full.
[root@localhost ~]# systemctl stop httpd      //关闭httpd服务
[root@localhost ~]# systemctl status httpd
● httpd.service - The Apache HTTP Server
   Loaded: loaded (/usr/lib/systemd/system/httpd.service; disabled; vendor preset: disabled)
   Active: inactive (dead)                    //服务处于关闭状态
     Docs: man:httpd(8)
           man:apachectl(8)

8月 27 14:18:52 localhost.localdomain systemd[1]: Starting The Apache HTTP Se...
8月 27 14:18:52 localhost.localdomain httpd[1896]: AH00558: httpd: Could not ...
8月 27 14:18:52 localhost.localdomain systemd[1]: Started The Apache HTTP Ser...
8月 27 14:20:06 localhost.localdomain systemd[1]: Stopping The Apache HTTP Se...
8月 27 14:20:07 localhost.localdomain systemd[1]: Stopped The Apache HTTP Ser...
Hint: Some lines were ellipsized, use -l to show in full.
  • 注意:実際の運用環境で実行しているサーバーの場合は、行わないでくださいstopまたはrestart中断するクライアントアクセス、不必要な損失を避けるために、動作します。

動作レベルを切り替えます

ランレベルのオペレーティングシステムは、現在の機能レベルを実行しています。これは、いくつかのプログラムが1つのレベルで始めることができ、そして他のレベルが開始する時間ではありません。

Linuxシステムの有効なログインモードがあり0~910の合計が、続くUNIXのシステムアップ6のみで、一般的に、制限の種を1する6効果があります。より16、彼らは異なる機能を持っています。

実行レベル Systemdtarget 説明
0 target このレベルを使用するときにオフ、閉じ開催します
1 rescue.target シングルユーザーモードでは、パスワードはシステムメンテナンスのために使用され、認証システムのログを記録する必要はありません
2 multi-user.target ユーザー定義/ドメイン固有の実行レベル。デフォルトは同等です3
3 multi-user.target フルマルチユーザモードインターフェース文字は、サーバホストのほとんどは、このレベルで実行されています
4 multi-user.target ユーザー定義/ドメイン固有の実行レベル。デフォルトは同等です3
5 graphical.target マルチユーザーモードでグラフィカルなインターフェイスは、グラフィカルなデスクトップ環境を提供します
6 reboot.target このレベルを使用するホストを再起動し、再起動します

図1は、現在のシステムの実行レベルを表示します

  • runlevel命令
[root@localhost ~]# runlevel
N 5

図2に示すように、ランレベル切替システム

ユーザが別のオペレーティング・システム・レベルに切り替える必要がある場合、従来によって可能であるinit手続き、ちょうどレベルを実行するために、対応する番号を使用(0~6)コマンドのパラメータとして、または使用systemctlコマンドのターゲット切り替えを。

  • initプログラムシフト
[root@localhost ~]# init 3

詳細CentOSの7サービス制御および起動プロセスの最適化

  • systemctlツールスイッチ
    • systemctl isolate graphical.targetグラフィカルインタフェースに切り替えますinin 5()
    • systemctl isolate multi-user.target文字インターフェイスへの切り替えinin 3()

詳細CentOSの7サービス制御および起動プロセスの最適化

詳細CentOSの7サービス制御および起動プロセスの最適化

詳細CentOSの7サービス制御および起動プロセスの最適化詳細CentOSの7サービス制御および起動プロセスの最適化

  • 文字インターフェースに自動的にブートを設定します。

    ln -sf /lib/systemd/system/multi-user.target /etc/systemd/system/default.target

    (設定ブートキャラクタインタフェース)

    systemctl get-default:現在のブートレベルを見ます

[root@localhost ~]# systemctl get-default     //查看当前启动级别状态
graphical.target                               //图形化界面
[root@localhost ~]# ln -sf /lib/systemd/system/multi-user.target /etc/systemd/system/default.target                           //设置开启启动为字符界面
[root@localhost ~]# systemctl get-default                    //查看当前启动级别状态
multi-user.target                           //字符化界面

起動プロセスの最適化

Linux操作系统中包含了大量的服务程序,这些服务程序在切换运行级别时根据预设的状态进行启动或终止。其中有不少系统服务可能并不是用户需要的,但是默认也运行了。

那么,在Linux操作系统中默认包括哪些系统服务?各自的作用是什么?如何控制开机后自动运行的系统服务,以减少资源占用、提高系统运行效率呢?

1.常见的系统服务

CentOS 系统中,默认安装的系统服务多达100余种,这些系统服务为用户提供了丰富的应用服务。只有了解各个系统服务的用途,才能有选择地进行优化操作,实现按需启用Linux 服务。

了 CentOS 中常见的一些系统服务:

服务名称 用途简介 备注
atd 延期、定时执行任务 建议关闭
bluetooth 发现、认证蓝牙相关设备 建议关闭
crond 按预定周期执行计划任务 建议开启
irqbalance 多核心 CPU 处理器的调度支持 建议开启
kdump 记录内核崩溃时的内存信息 建议关闭
lvm2-monitor LVM 管理及监控 建议开启
netfs 访问共享文件夹等网络文件系统 建议开启
network 配置及使用网卡、网络地址 建议开启
restorecond SELinux 安全机制的文件监控和恢复功能 建议关闭
rhnsd 访问 Red Hat Network,获取通知、提交订阅等 建议关闭
rpcgssd 管理 NFS访问中的客户程序语境 建议关闭
saslauthd 基于文本的身份认证 建议关闭
smartd 监控本地硬盘的状态并发送故障报告 建议开启
smb 文件共享服务 建议关闭
sshd 提供远程登录和管理 Linux主机的功能 建议开启
rsyslog 记录内核、系统的日志消息 建议开启
vsftpd 通过FTP提供文件上传、下载功能 建议关闭
  • 注意:必须强调的是,这些服务到底是选择开启还是关闭,应根据主机的实际功能需求来定,不要生搬硬套。

2.优化开机自动加载的服务

Linux 操作系统在每次开机后会进入默认的systemd运行目标(如字符模式或图形模式), 并运行该目标中默认设为启动的各种系统服务。若要禁止某些系统服务自动运行,可以使用ntsysv或者systemctl工具进行优化。

  • ntsysv工具

    ntsysvツールは、特に集中型の構成では、さまざまなシステムやサービスの状態を開始するために、対話型のグラフィカル・ユーザー・インターフェースでコピーをユーザーに提供するために、文字モードで実行することができます。必要が使用して、サービスの複数起動状態を設定するときにntsysv非常に便利なツールです。

[root@localhost ~]# ntsysv      // 输入命令进入仿图形交互式操作界面

詳細CentOSの7サービス制御および起動プロセスの最適化

プレス操作さまざまなシステムサービスを選択するための矢印キーを押しSpace(空格)ます(デフォルトの起動状態提供する主要なサービス[*]その起動を示し、[ ]無効)。あなたが選択した情報サービスの説明を表示したい場合は、押してF1ヘルプを表示するボタンを。

  • systemctlツール

    systemctlツールntsysv同様の機能が、systemctlシステムサービスのデフォルトの起動状態を照会したり設定するために使用されるインタラクティブなユーザインタフェースを提供しません。使用しているときには、ターゲットの現在の実行状態でサービスを開始するようにデフォルトを設定する必要がある場合はsystemctl、より効率的なツールを。

    • コマンドの形式

    • systemctl 控制选项 服务名称
    • 共通のオプション
      • 有効:起動時に。
      • 無効:自動的にオフになります。
      • 有効にされています。ブート状態を確認してください。
[root@localhost ~]# systemctl enable httpd.service    //设置开机自动启动httpd服务
Created symlink from /etc/systemd/system/multi-user.target.wants/httpd.service to /usr/lib/systemd/system/httpd.service.
[root@localhost ~]# systemctl is-enabled httpd.service   //查看httpd开机启动状态
enabled
[root@localhost ~]# systemctl disable httpd.service     //设置开机不启动httpd服务
Removed symlink /etc/systemd/system/multi-user.target.wants/httpd.service.
[root@localhost ~]# systemctl is-enabled httpd.service   ////查看httpd开机启动状态
disabled

サプリメント

実行する現行制度の下ではsystemctl list-units --type=service、現在アクティブなすべてのシステム・サービス・システムを参照してくださいするコマンドを。

[root@localhost ~]# systemctl list-units --type=service //查看当前系统中所有已激活的系统服务
UNIT                               LOAD   ACTIVE SUB     DESCRIPTION
abrt-ccpp.service                  loaded active exited  Install ABRT coredump hook
abrt-oops.service                  loaded active running ABRT kernel log watcher
abrt-xorg.service                  loaded active running ABRT Xorg log watcher
abrtd.service                      loaded active running ABRT Automated Bug Reporting Tool
accounts-daemon.service            loaded active running Accounts Service
alsa-state.service                 loaded active running Manage Sound Card State (restore and store)
atd.service                        loaded active running Job spooling tools
auditd.service                     loaded active running Security Auditing Service
avahi-daemon.service               loaded active running Avahi mDNS/DNS-SD Stack
blk-availability.service           loaded active exited  Availability of block devices
...//省略部分内容...

見ていただきありがとうございます、私はあなたが私たちを助けることを願って!

おすすめ

転載: blog.51cto.com/14473285/2433005