手機版
你好,游客 登錄 注冊
背景:
閱讀新聞

CentOS 7服務控制及優化啟動過程

[日期:2019-10-12] 來源:Linux社區  作者:Linux [字體: ]

CentOS 7系統服務控制

在 CentOS系統中,各種系統服務的控制腳本默認放在/usr/lib/systemd目錄下。通過systemctl命令工具可以實現對指定系統服務的控制。

  • systemctl命令

    • 常用格式

    systemctl [控制類型] [服務名稱]

    • 控制類型

    start(啟動):運行指定的系統服務程序,實現服務功能。

    stop(停止):終止指定的系統服務程序,關閉相應的功能。

    restart(重啟):先退出,再重新運行指定的系統服務程序。(慎用)

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

    status(查看狀態):查看指定的系統服務的運行狀態及相關信息。

[[email protected] ~]# systemctl start httpd     //啟動httpd服務
[[email protected] ~]# 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.
[[email protected] ~]# systemctl stop httpd      //關閉httpd服務
[[email protected] ~]# 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操作,以免造成客戶端訪問中斷,帶來不必要的損失。

切換運行級別

運行級就是操作系統當前正在運行的功能級別。 它讓一些程序在一個級別啟動,而另外一個級別的時候不啟動。

Linux系統的有效登錄模式有0~9共十種,不過沿用UNIX系統的至多6種的限制,一般只有1到6有效。從1到6 ,具有不同的功能。

運行級別Systemd的target說明
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命令
[[email protected] ~]# runlevel
N 5

2、切換系統運行級別

當用戶需要將系統切換到其他運行級別時,可以通過傳統的 init程序進行,只要使用 與運行級別相對應的數字(0~6)作為命令參數即可,或者使用systemctl 命令進行目標切換。

  • init程序切換
[[email protected] ~]# 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:查看當前開機啟動級別

[[email protected] ~]# systemctl get-default     //查看當前啟動級別狀態
graphical.target                               //圖形化界面
[[email protected] ~]# ln -sf /lib/systemd/system/multi-user.target /etc/systemd/system/default.target                           //設置開啟啟動為字符界面
[[email protected] ~]# 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工具會非常方便。

[[email protected] ~]# ntsysv      // 輸入命令進入仿圖形交互式操作界面

CentOS 7服務控制及優化啟動過程

操作時按↑、↓方向鍵來選擇不同的系統服務,按Space(空格)鍵設置服務的默認啟動狀態( [*]表示啟動,[ ]表示關閉)。如果要查看所選定服務的說明信息,按 F1鍵可以獲取幫助。

  • systemctl工具

    systemctl工具與ntsysv的功能類似,但是systemctl不提供交互式的操作界面,它用于查詢或設置系統服務的默認啟動狀態。當需要設置某一個服務在當前運行目標中的默認啟動狀態時,使用systemctl工具會更有效率。

    • 命令格式

    • systemctl 控制選項 服務名稱
    • 常用選項
      • enable:開機自動啟動。
      • disable:開機自動關閉。
      • is-enable:查看開機啟動狀態。
[[email protected] ~]# systemctl enable httpd.service    //設置開機自動啟動httpd服務
Created symlink from /etc/systemd/system/multi-user.target.wants/httpd.service to /usr/lib/systemd/system/httpd.service.
[[email protected] ~]# systemctl is-enabled httpd.service   //查看httpd開機啟動狀態
enabled
[[email protected] ~]# systemctl disable httpd.service     //設置開機不啟動httpd服務
Removed symlink /etc/systemd/system/multi-user.target.wants/httpd.service.
[[email protected] ~]# systemctl is-enabled httpd.service   ////查看httpd開機啟動狀態
disabled

補充內容

在當前系統下執行systemctl list-units --type=service命令可以查看當前系統中所有已激活的系統服務。

[[email protected] ~]# 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
...//省略部分內容...

謝謝觀看,希望能對大家有所幫助!

Linux公社的RSS地址http://www.vnrggh.live/rssFeed.aspx

本文永久更新鏈接地址http://www.vnrggh.live/Linux/2019-10/160982.htm

linux
本文評論   查看全部評論 (0)
表情: 表情 姓名: 字數

       

評論聲明
  • 尊重網上道德,遵守中華人民共和國的各項有關法律法規
  • 承擔一切因您的行為而直接或間接導致的民事或刑事法律責任
  • 本站管理人員有權保留或刪除其管轄留言中的任意內容
  • 本站有權在網站內轉載或引用您的評論
  • 參與本評論即表明您已經閱讀并接受上述條款
彩票平台