歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux管理 >> Linux服務

Linux服務管理

簡介與分類

系統的運行級別

運行級別 含義 0 關機 1 單用戶模式,可以想象為windows的安全模式,主要用於系統修復 2 不完全的命令行模式,不含NFS服務 3 完全的命令行模式,就是標准字符界面 4 系統保留 5 圖形模式 6 重啟動

注:
單用戶模式:啟動最小的服務,多余服務不開啟,僅保證系統自己可以正常運行。主要用於系統修復。
NFS:Linux和Linux之間進行文件共享服務

查看及修改系統運行級別

// 查看系統運行級別
// N:NULL。當前級別為3即字符界面,其上一個級別為N即為空,表示系統開機直接進入字符界面
#runlevel
N 3             


// 修改系統運行級別
// 進入圖形級別,前提是安裝圖形界面
#init 5 // 若未安裝圖形界面則會報錯
#runlevel
3 5     // 仍然進入了5級別

// 不建議使用下面命令關機和重啟,不一定正確結束系統正在運行的服務;建議使用shutdown命令
// 關機
#init 0
// 重啟
#init 6 

查看及修改系統默認的運行級別

// /etc/inittab文件現在沒有那麼重要,它的功能已經被其他配置文件所代替
#vim /etc/inittab
id:3:initdefault:

注:不要把開機啟動級別設置為0或6級別。

服務的分類

這裡寫圖片描述<喎?http://www.2cto.com/kf/ware/vc/" target="_blank" class="keylink">vcD4NCjxwPjxjb2RlIGNsYXNzPQ=="hljs vala">RPM包與源碼包的區別:主要在安裝位置不一樣。

RPM包安裝在系統默認位置,一般不指定安裝位置,安裝包作者決定安裝的位置。
源碼包手工指定安裝位置,一般裝在/usr/local/目錄下。

獨立的服務和基於xinetd服務的區別:

獨立的服務:服務獨立的運行在內存中,服務響應速度快,但占用更多內存。
基於xinetd服務: xinetd服務是超級守護進程的一種。xinetd服務本身獨立存在,管理一些服務。用戶通過xinetd服務請求其管理的一些服務,然後xinetd返回請求服務的回復給用戶,xinetd服務相當於proxy一樣的角色。xinetd服務逐步被淘汰,大多數服務都是獨立的服務。

//查看服務自啟動服務
// 通過chkconfig查看的服務都是rpm包安裝且都是獨立的服務
#chkconfig --list
...
network 0:off 1:off 2:on 3:on 4:on 5:on 6:off //在不同系統運行級別時服務的自動開啟狀態即是否自啟動
...

// 查看基於xinetd服務
// xinetd
#yum -y install xinetd
// 查看服務
#chkconfig --list // 會多一組顯示基於inetd服務的服務

啟動與自啟動

服務啟動:就是在當前系統中讓服務運行,並提供功能。
服務自啟動:自啟動是指讓五福在系統開機或重啟動之後,隨著系統的啟動而自動啟動服務。

注:在chkconfig –list 查看到服務在不同運行級別時,服務自啟動是否開啟,不能確定現在服務是否已經開啟。

查詢已安裝的服務

RPM包安裝的服務

chkconfig –list命令查看服務自啟動狀態,可以看到所有RPM包安裝的服務

源碼包安裝的服務

查看服務安裝位置,一般是/usr/local/目錄下
service、chkconfig、ntsysv都不能找到源碼包安裝的服務。

RPM包安裝服務和源碼包安裝服務的區別就是安裝位置的不同

源碼包一般安裝在/usr/local/目錄下
RPM包默認安裝位置

服務與端口

查看系統中開啟(已運行)服務

1 ps aux命令,顯示所有執行的進程包括服務進程,但這並不好用
2 netstat -tlun 顯示系統已運行(正在監聽)的服務,其他功能可以man netstat 查看

端口與服務對應

查看/etc/services文件,顯示常見的端口和服務

RPM包服務管理

常規rpm包文件安裝位置:
- /etc/init.d/ :啟動腳本位置
- /etc/sysconfig/ : 初始化環境配置文件位置
- /etc/ : 配置文件位置
- /etc/xinetd.conf : xinetd配置文件
- /etc/xinetd.d/ : 基於xinetd服務的啟動腳本
- /var/lib/ : 服務產生的數據放在這裡
- /var/log/ : 日志

獨立服務的管理

獨立服務的啟動

1 /etc/init.d/獨立服務名 start|stop|status|restart|

// 查看apache http服務的狀態,其中httpd為一個shell腳本文件
#/etc/init.d/httpd status
// 啟動apache服務
#/etc/init.d/httpd start

// 早期Linux版本服務管理腳本放在/etc/rc.d/init.d/目錄
#/etc/rc.d/init.d/httpd status

2 service 獨立服務名 start|stop|restart|status|

#service httpd status

注1:redhat系列的Linux才能使用service命令
注2:上面兩種方法一般無法管理源碼包啟動腳本,但可以把源碼包啟動腳本放置在/etc/init.d/目錄下統一管理

獨立服務的自啟動

1 chkconfig [–level 運行級別] [獨立服務名] [on|off]

#chkconfig --list |grep httpd
httpd 0:off 1:off 2:off 3:off 4:off 5:off 6:off 
#chkconfig --level 2345 httpd on
#chkconfig --list |grep httpd
httpd 0:off 1:off 2:on 3:on 4:on 5:on 6:off 

#chkconfig httpd off
#chkconfig --list|grep httpd
httpd 0:off 1:off 2:off 3:off 4:off 5:off 6:off 

2 修改/etc/rc.d/rc.local文件
/etc/rc.d/rc.local文件是在系統啟動時,把所有的服務啟動完,用戶登錄到系統前最後執行的文件,因此系統會執行這個文件中的命令。

#vim /etc/rc.d/rc.local
touch /var/lock/subsys/local
/etc/init.d/httpd start // 添加開機啟動apache服務的命令

注1:通過修改/etc/rc.d/rc.local文件添加的開機啟動服務不能在chkconfig –list中顯示,這兩種管理方式不想關,選取一種即可。
注2:也可以修改/etc/rc.local文件,/etc/rc.local文件是/etc/rc.d/rc.local文件的軟連接

3 使用ntsysv命令管理自啟動
ntsysv命令和chkconfig命令是相關的,即通過哪一個修改,對方都能看見修改。
注:ntsysv是redhat系列的Linux命令。

基於xinetd服務的管理

1 安裝xinetd服務

#yum -y install xinetd

2 xinetd服務的啟動

// 顯示rsync服務的端口
#grep rsync /etc/services

#vim /etc/xinetd.d/rsync
service rsync
{
    flags = REUSE // 設置TCP/IP socket可重用
    socket_type = stream
    wait = no     // 允許多個連接同時連接
    user = root   // 啟動服務的用戶為root
    server = /usr/bin/rsync
    server_args = --daemon
    log_on_failure += USERID // 登錄失敗後,記錄用戶的ID
    disable = no // 開啟rsync服務,開啟:no 關閉:yes
}

// 重啟動xinetd服務
#service xinetd restart

3 xinetd服務的自啟動

只有獨立的服務才有運行級別,基於xinetd的服務沒有運行級別,xinetd在哪個級別可以自啟動,rsync服務就在哪個級別可以自啟動

// 不能加運行級別
#chkconfig rsync on 
#netstat -tlun|grep 873
tcp 0 0 :::873 :::* LISTEN
#chkconfig rsync off
// 查看rsync服務是否關閉,
#netstat -tlun|grep 873 // 無顯示,rync服務被關閉 
#vim /etc/xinetd.d/rsync // 設置rsync服務的disable=no
#service xinetd restart
#netstat -tlun|grep 873
tcp 0 0 :::873 :::* LISTEN


// 使用圖形化界面的ntsysv找到rsync服務開啟即可
#ntsysv 

注:由上面操作可知 xinetd服務的啟動和自啟動是一致的,即自啟動開啟關閉服務和啟動開啟關閉是一樣的。

源碼包服務管理

源碼包的安裝目錄中的安裝說明文檔中一般有啟動命令教程。如apache服務器的安裝說明為INSTALL。

源碼包安裝服務的啟動

使用絕對路徑,調用啟動腳本來啟動。不同的二元嗎包的啟動腳本不同。可以查看源碼包的安裝說明,查看啟動腳本的方法。

// 源碼包服務啟動
#/usr/local/apache2/bin/apachectl start|stop
// 源碼包中apache2服務首頁的修改
#vim /usr/local/apache2/htdocs/index.html 

源碼包服務的自啟動

只能通過修改/etc/rc.d/rc.local文件加入啟動命令

#vim /etc/rc.d/rc.local // 加入/usr/local/apache2/bin/apachectl start即可

讓源碼包服務被服務管理命令識別

讓源碼包的apache服務能被service命令管理啟動

#ln -s /usr/local/apache2/bin/apachectl /etc/init.d/apache
#service apache start

讓源碼包的apache服務能被chkconfig與ntsysv命令管理自啟動

#vim /etc/init.d/apache 
// 在apache啟動腳本中添加
  #chkconfig: 35 86 76 // 格式:chkconfig : 運行級別 啟動順序 關閉順序
  #description: source package apache
// 把源碼包apache加入chkconfig 命令
#chkconfig --add apache
#chkconfig --list |grep apache
apache 0:關閉 1:關閉  2:關閉 3:開啟 4:關閉 5:開啟 6:關閉

// 這時,ntsysv命令也可以管理apache
#ntsysv 

注:

// 格式:chkconfig : 運行級別 啟動順序 關閉順序
#chkconfig: 35 86 76
#cd /etc/rc3.d/ // 3代表系統純字符界面
#ls
// 顯示以k和s開頭文件文件
// k開頭的為kill,s開頭的為start,
// 系統進入3級別的時要把以s開頭的文件執行一遍,同理系統退出3級別時執行一遍k開頭的文件
// 啟動順序號和關閉順序號可以為隨意數字,但啟動順序號不能與/etc/rc3.d/目錄下已存在的s開頭文件的順序號重復,同理關閉順序號也不能與k開頭文件的順序號重復

服務管理總結

xmind思維導圖

這裡寫圖片描述

常見的服務與管理

服務名稱 功能簡介 建議 acpid 電源管理接口。如果是筆記本用戶建議開啟,可以監聽內核層的相關電源事件。 開啟 anacron 系統的定時任務程序。cron的一個子系統,如果定時任務錯過了執行時間,可以通過anacron繼續喚醒執行 關閉 alsasound Alsa聲卡驅動。如果使用alsa聲卡,開啟 關閉 apmd 電源管理模塊。如果支持acpid,就不需要apmd,可以關閉 關閉 atd 指定系統在特定時間執行某個人物,只能執行一次。如果需要則開啟,但一般使用crond來進行循環定時任務 關閉 auditd 審核子系統。如果開啟了此服務,SELinux的審核信息會寫入/var/log/audit/auxlit.log文件,如果不開啟,審核信息會記錄在syslog中 開啟 autofs 讓服務器可以自動掛載網絡中的其他服務器的共享數據,一般用來自動掛載NFS服務。如果沒有NFS服務建議關閉 關閉 avahi-daemon Avahi是zeroconf協議的實現,它可以在沒有DNS服務的局域網裡發現機遇zeroconf協議的設備和服務。除非有兼容設備或使用zeroconf協議,否則關閉 關閉 bluetooth 藍牙設備支持。一般不會在服務器上使用藍牙設備,關閉它 關閉 capi 僅對使用ISND設備的用戶有用 關閉 chargen-dgram 使用UDP協議的chargen server。主要功能是提供類似遠程打字的功能 關閉 chargen-stream 同上 關閉 cpuspeed 可以用來調整CPU的頻率。當閒置時可以自動降低CPU頻率來節省電量 開啟 crond 系統的定時任務,一般的Linux服務器都需要定時任務幫助系統維護,建議開啟 開啟 cvs 一個版本控制系統 關閉 daytime-dgram daytime使用TCP協議的Daytime守護進程,該協議為客戶機實現從遠程服務器獲取日期和時間的功能 關閉 dovecot 郵件服務中POP3/IMAP服務的守護進程。主要用來接收信件,如果啟動了郵件服務則開啟,否則關閉 關閉 echo-dgram 服務器回顯客戶服務的進程 關閉 echo-stream 同上 關閉 firstboot 系統安裝完成之後,有個歡迎界面,需要對系統初始化設定,就是這個進程的作用。既然不是第一次啟動,關閉 關閉 gpm 在字符終端(tty1-tty6)中可以使用鼠標復制和粘貼。就是該服務的功能 開啟 haldaemon 檢測盒支持USB設備。服務器可以關閉,個人建議開啟 關閉 hidd 藍牙鼠標、鍵盤燈藍牙設備檢測。必須啟動bluetooth服務 關閉 hplip HP打印機支持,如果沒有HP打印機關閉 關閉 httpd apache服務的守護進程。如果需要啟動apache就開啟 開啟 ip6tables IPv6的防火牆,目前IPv6協議並沒有使用,可以關閉 關閉 pitables 防火牆功能,Linux中防火牆是內核支持功能。這是服務器的主要防護手段,必須開啟 開啟 irda IrDA提供紅外線設備間的通訊支持,關閉 關閉 irqbalance 支持多核持利器,讓CPU可以自動分配系統中斷(IRQ),提高系統性能。目前服務器是多核CPU,開啟 開啟 isdn 使用ISDN設備連接網絡。目前主流的聯網方式是光釬接入和ADSL,ISDN已經非常少見,關閉 關閉 kudzu 該服務可以在開機時進行硬件檢測,炳輝調用相關的設置軟件。建議關閉,需要時開啟 關閉 lvn2-monitor 該服務可以讓系統支持LVM邏輯卷組,如果分區采用的是LVM方式,那麼應該開啟,建議開啟 開啟 mcstrans SELinux的支持服務,建議開啟 開啟 mdmonitor 該服務用來監測Software RAID或LVM的信息,不是必須服務,建議關閉 關閉 mdmpd 該服務用來監測Multi-Path設備,不是必須服務 關閉 messagebus 這是Linux的IPC(Interprocess Communication,進程間通訊)服務,用來在各個軟件中交換信息,建議關閉 關閉 mysqld mysql數據庫服務,需要時開啟,否則關閉 開啟 named DNS服務的守護進程,用來進行域名解析,如果是DNS服務器則開啟,否則關閉 關閉 netfs 該服務用於在系統啟動時自動掛載網絡中共享文件空間,比如:NFS、Samba等。需要開啟否則關閉 關閉 network 提供網絡設置功能。通過這個而服務來管理網絡,所以開啟 開啟 nfs NFS(Network File System)服務,Linux與Linux之間的文件共享服務,需要就開啟,否則關閉 關閉 nfslock 在Linux中使用NFS服務,避免同一個文件被不同的用戶同時編輯,所以有這個鎖服務。有NFS時開啟,否則關閉 關閉 ntpd 該服務可以通過互聯網自動更新系統時間,使系統時間永遠都准確。需要則開啟,但不必須 關閉 pcscd 只能卡檢測服務,可以關閉 關閉 portmap 用在遠程過程調用(RPC)的服務,如果沒有任何RPC服務時,可以關閉,主要是NFS和NIS服務需要 關閉 psacct 該守護進程支持幾個監控進程活動的工具 關閉 rdisc 客戶端ICMP路由協議 關閉 readahead_early 在系統開機的時候,先將某些進程加載如內存整理,可以加快一點啟動速度 關閉 readahead_later 同上 關閉 restorecond 用於給SELinux檢測和重新加載正確的文件上下文。如果開啟SELinux則需要開啟 關閉 rpcgssd 與NFS有關的客戶端功能。如果沒有NFS就關閉 關閉 rpcidmapd 同上 關閉 rsync 遠程數據備份守護進程 關閉 sendmail sendmail郵件服務的守護進程,如果有郵件服務就開啟,否則關閉 關閉 setrouleshoot 用於SELinux行管信息記錄在/var/log/messages中,建議開啟 開啟 smartd 該服務擁有自動檢測硬盤狀態,建議開啟 開啟 smb 網絡服務samba的守護進程。可以讓Linux和Windows之間共享數據,如果需要則開啟 關閉 squid 代理服務的守護進程,需要則開啟,否則關閉 關閉 sshd   ssh加密遠程登錄管理的服務。服務器的遠程管理必須使用此服務,不需要則關閉 syslog 日志的守護進程 開啟 vsftpd vsftp服務的守護進程。需要FTP服務則開啟,否則關閉 關閉 xfs 這是XWindow的字體守護進程。為圖形界面提供字體服務。不需要啟動圖形界面就不開啟 關閉 xinetd 超級守護進程。如果有依賴xinetd的服務就開啟 開啟 ypbind 為NIS(網絡信息系統)客戶機激活ypbind服務進程 關閉 yum-updatesd yum的在線升級服務  

參考

慕課網Linux服務管理

Copyright © Linux教程網 All Rights Reserved