天天看點

Liunx服務介紹

在Linux系統中,有一些特殊程式,啟動後就會持續在背景執行,等待使用者或者其他軟體調用使用,這種程式我們成為服務。

Linux系統中服務的管理工具

  systemV

  systemd

一、systemV于init

  systemV當中有一個程式叫init,這個程式可以讓系統中的service指令去調用/etc/rc.d/init.d/目錄下的服務腳本,我們可以通過service指令去控制服務的啟動與關閉,或者找到服務相應的執行檔案,然後執行,比如/usr/sbin/httpd,這樣才能啟動一個服務。

該服務管理方式在RHEL7之前的系統中預設。

init的特點

啟動/停止/檢視

  /etc/rc.d/init.d/servername  start/stop/restart/status

  或

  service servicename  start/stop/restart/status

開機啟動管理與檢視

  chkconfig  --level 0-6 servername  on/off   指定一個服務在那個運作級别啟動

  chkconfig --list servernamer  檢視一個服務在哪個運作級别啟動

setup圖形化工具檢視服務

  setup是RedHat私有化的指令工具,别的系統不一定支援

    方式1:使用setup 系統服務就可以看到全部自啟動的服務

    選擇系統服務檢視全部service

  

Liunx服務介紹

   用方向鍵選擇服務名稱,空格鍵標明服務是否設定為自啟動。tab鍵切換到下面“确定|退出”    

    

Liunx服務介紹

二、systemd與unit

  從CentOS7開始systemV,被效率更高的systemd所替代,對應指令systemctl ,并且systemctl也相容了service (service指令作為systemd的入口,也是systemctl指令的封裝)。

  system的優勢

并行處理所有服務,縮短開機時間

響應速度快,通過systemctl指令就可以完成所有操作

自動解決服務的依賴關系,類似yum

友善記憶,安裝類型對服務進行分類

相容init

 相關檔案

/usr/lib/systemd/system/  服務的啟動腳本,包含所有安裝完成的服務設定檔案

/run/system/system/  系統運作過程中的服務腳本優先級高于上一個檔案

/etc/systemd/system/  管理者手動建立的服務啟動腳本,優先級最高

服務類型

 ⚪systemctl  管理指令

基本文法:systemctl  [start|stop|restart|status]  服務名  (臨時生效,重新開機後恢複原來狀态)

在systemd中,所有服務類型都被稱為unit,主要分成6類:.service, .socket, .target, .path, snapshothot, .timer,它們都存放在/usr/lib/systemd/system/目錄中

⚪systemctl設定服務的自啟動狀态

systemctl  list-unit-files [ |grep  服務名] (檢視服務開機啟動狀态)

systemctl enable  服務名(設定開機自啟)

systemctl disable 服務名 (關閉服務開機自啟動,CentOS7之後,不在使用chkconfig指令對各個運作級别的服務啟動|關閉了,systemd預設對應的就是3和5兩個級别)

systemctl is-enabled  服務名 (查詢某個服務是否開機自啟動)

systemctl list-units  --type=service  -all  列出所有service服務單元運作狀态

systemctl list-unit-files  查詢所有已經安裝的unit單元,是否設定開機啟動。

⚪應用案例

1.systemctl  list-unit-fiels  檢視所有安裝的unit,是否設定開機啟動

ervice 的 disabled 和 enabled 狀态都好了解,static 是個啥?在不存在的網站上一頓查找,找到如下這番解釋:

"static" means "enabled because something else wants it". Think by analogy to pacman's package install reasons:

enabled :: explicitly installed

static :: installed as dependency

disabled :: not installed

意思是,狀态為 static 的服務,是作為别的服務的依賴而存在。

2.檢視目前防火牆的狀态,關閉防火牆或重新開機防火牆。==》firewalld.service

檢視firewalld狀态為active

systemctl stop|start firewalld 開啟|關閉firewalld服務

這種方式隻是臨時生效,當重新開機系統後,還是回歸到以前對服務的設定。

使用systemtcl enabl | disable  firewalld(設定開機啟動或關閉服務)