国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 系統 > Linux > 正文

Linux中獨立服務管理RPM包的啟動與自啟動

2024-08-27 23:56:14
字體:
來源:轉載
供稿:網友
  我們知道,RPM 包默認安裝的服務分為獨立的服務和基于 xinetd 的服務,本節來學習獨立服務的管理。
 
  獨立服務的啟動管理
 
  獨立的服務要想啟動,主要有兩種方法。
 
  1) 使用/etc/init.d/目錄中的啟動腳本來啟動獨立的服務
 
  既然所有獨立服務的啟動腳本都存放在 /etc/init.d/ 目錄中,那么,調用這些腳本就可以啟動獨立的服務了。這種啟動方式是推薦啟動方式,命令格式如下:
 
  [root@localhost ~]#/etc/init.d獨立服務名 start| stop|status|restart|...
 
  參數:
 
  start:啟動服務;
 
  stop:停止服務;
 
  status:查看服務狀態;
 
  restart:重啟動服務;
 
  我們以啟動 RPM 包默認安裝的 httpd 服務為例,命令如下:
 
  [root@localhost ~]# /etc/init.d/httpd start
 
  正在啟動httpd:
 
  [確定]
 
  #啟動httpd服務
 
  [root@localhost ~]# /etc/init.d/httpd status
 
  httpd (pid 13313)正在運行…
 
  #查詢httpd服務狀態,并能夠看到httpd服務的PID
 
  [root@localhost ~]#/etc/init.d/httpd stop
 
  停止 httpd:
 
  [確定]
 
  #停止httpd服務
 
  [root@localhost ~]#/etc/init.d/httpd restart
 
  停止httpd:
 
  [失敗]
 
  正在啟動httpd:
 
  [確定]
 
  重啟動httpd服務
 
  2) 使用service命令來啟動獨立的服務
 
  在 CentOS 系統中,我們還可以依賴 service 命令來啟動獨立的服務。service 命令實際上只是一個腳本,這個腳本仍然需要調用 /etc/init.d/ 中的啟動腳本來啟動獨立的服務。而且 service 命令是紅帽系列 Linux 的專有命令,其他的 Linux 發行版本不一定擁有這條命令,所以我們并不推薦使用 service 命令來啟動獨立的服務。
 
  service 命令格式如下:
 
  [root@localhost ~]# service 獨立服務名 start|stop|restart|...
 
  例如:
 
  [root@localhost ~]# service httpd restart
 
  停止httpd:
 
  [確定]
 
  正在啟動httpd:
 
  [確定]
 
  命令比輸入 /etc/init_d/ 目錄要稍微簡單。service 命令還可以查看所有獨立服務的啟動狀態,這是一個常用功能,命令格式如下:
 
  [root@localhost ~]# service --status -all
 
  選項:
 
  --status -all:列出所有獨立服務的啟動狀態;
 
  例如:
 
  abrtd(pid 1505)正在運行…
 
  abrt-dumpoops(pid 1513)正在運行…
 
  acpid(pid 1312)正在運行...
 
  …省略部分輸出…
 
  隨著 httpd 服務的啟動和停止,使用"netstat -tlun"命令就會看到 80 端口出現和消失。這也就說明 apache 服務綁定的口就是 80,所以我們可以端口是否在服務器中出現來判斷 apache 服務是否啟動。
 
  獨立服務的自啟動管理
 
  自啟動指的是在系統之后,服務是否隨著系統的啟動而自動啟動。如果啟動了某個服務,那么這個服務會在系統重啟之后啟動嗎?
 
  答案是不知道,因為啟動命令只負責啟動服務,而和服務的自啟動完全沒有關系。同樣地,自啟動命令只管服務是否會在系統重啟之后啟動,而和當前系統中的服務是否啟動沒有關系。
 
  獨立服務的自啟動方法有三種,我們分別來學習。
 
  1) 使用 chkconfig 服務自啟動管理命令
 
  第二種方法就是修改 /etc/rc.d/rc.local 文件,在文件中加入服務的啟動命令。這個文件是在系統啟動時,在輸入用戶名和密碼之前最后讀取的文件(注意:/etc/rc.d/rc.loca和/etc/rc.local 文件是軟鏈接,修改哪個文件都可以)。這個文件中有什么命令,都會在系統啟動時調用。
 
  如果我們把服務的啟動命令放入這個文件,這個服務就會在開機時自啟動。命令如下:
 
  [root@localhost ~]#vi /etc/rc.d/rc.local
 
  #!/bin/sh
 
  #
 
  #This script will be executed *after* all the other init scripts.
 
  #You can put your own initialization stuff in here if you don't want to do the full Sys V style init stuff.
 
  touch /var/lock/subsys/local
 
  /etc/rc.d/init.d/httpd start
 
  #在文件中加入apache的啟動命令
 
  這樣,只要重啟之后,apache 服務就會開機自啟動了。推薦大家使用這種方法管理服務的自啟動,有兩點好處:
 
  第一,如果大家都采用這種方法管理服務的自啟動,當我們碰到一臺陌生的服務器時,只要查看這個文件就知道這臺服務器到底自啟動了哪些服務,便于集中管理。
 
  第二,chkconfig 命令只能識別 RPM 包默認安裝的服務,而不能識別源碼包安裝的服務。 源碼包安裝的服務的自啟動也是通過 /etc/rc.d/rc.local 文件實現的,所以不會出現同一臺服務器自啟動了兩種安裝方法的同一個服務。
 
  還要注意一下,修改 /etc/rc.d/rc.local 配置文件的自啟動方法和 chkconfig 命令的自啟動方法是兩種不同的自啟動方法。所以,就算通過修改 /etc/rc.d/rc.local 配置文件的方法讓某個獨立的服務自啟動了,執行"chkconfig --list"命令并不到有什么變化。
 
  3) 使用 ntsysv 命令管理自啟動
 
  第二種方法是利用 chkconfig 服務自啟動管理命令來管理獨立服務的自啟動,這條命令的用法如下:
 
  [root@localhost ~]# chkconfig --list
 
  使用 chkconfig 命令除了可以查看所有 RPM 包默認安裝服務的自啟動狀態,也可以修改和設置 RPM 包默認安裝服務的自啟動狀態,只是獨立的服務和基于 xinetd 的服務的設定方法稍有不同。我們先來看看獨立的服務如何設置。命令格式如下:
 
  [root@localhost ~]# chkconfig [--level 運行級別][獨立服務名][on|off]
 
  #選項:
 
  --level: 設定在哪個運行級別中開機自啟動(on),或者關閉自啟動(off);
 
  例如:
 
  [root@localhost ~]# chkconfig --list | grep httpd
 
  httpd 0:關閉 1:關閉 2:關閉 3:關閉 4:關閉 5:關閉 6:關閉
 
  #查詢httpd的自啟動狀態。所有的級別都是不自啟動的
 
  [root@localhost ~]# chkconfig --level 2345 httpd on
 
  #設置apache服務在進入2、3、4、5級別時自啟動
 
  [root@localhost ~]# chkconfig --list | grep httpd
 
  httpd 0:關閉 1:關閉 2:啟用 3:啟用 4:啟用 5:啟用 6:關閉
 
  #查詢apache服務的自啟動狀態。發現在2、3、4、5這4個運行級別中變為了"啟用"
 
  還記得 0~6 這 7 個 Linux 的運行級別嗎?如果在 0~6 這 7 個運行級別中服務都顯示"關閉",則該服務不自啟動。如果在某個運行級別中顯示"啟用",則代表在進入這個運行級別時,該服務開機自啟動。
 
  服務的自啟動方法和服務的啟動方法是不通用的,我們做一個實驗驗證一下。命令如下:
 
  [root@localhost ~]# /etc/init.d/httpd status
 
  httpd已停
 
  #查詢apache服務狀態,是已經停止的
 
  [root@localhost ~]# chkconfig --level 2345 httpd on
 
  #設置apache服務在進入2、3、4、5級別時自啟動
 
  [root@localhost ~]# chkconfig --list|grep httpd
 
  httpd 0:關閉 1:關閉 2:啟用 3:啟用 4:啟用 5:啟用 6:關閉
 
  #查看一下,自啟動已經生效
 
  [root@localhost ~]#/etc/init.d/httpd status
 
  httpd已停
 
  #但是apache服務在當前系統中還是關閉的
 
  大家看到了嗎?雖然 apach 被設置為自啟動,但是當前系統中的 apache 是沒有啟動的,所以啟動和自啟動是獨立的。
 
  2) 修改 /etc/rc.d/rc.local 文件,設置服務自啟動

  第三種方法是使用 ntsysv 命令調用窗口模式來管理服務的自啟動,非常簡單。命令格式如下:
 
  [root@localhost ~]# ntsysv [--level 運行級別]
 
  選項:
 
  --level 運行級別:可以指定設定自啟動的運行級別;
 
  例如:
 
  [root@localhost ~]# ntsysv --level 235
 
  #只設定2、3、5級別的服務自啟動
 
  [root@localhost ~]# ntsysv
 
  #按默認的運行級別設置服務自啟動
 
  執行命令后,會和 setup 命令類似,出現命令界面。
 
  這個命令的操作是這樣的:
 
  上下鍵:在不同服務之間移動;
 
  空格鍵:選定或取消服務的自啟動。也就是在服務之前是否輸入"*";
 
  Tab鍵:在不同項目之間切換;
 
  F1鍵:顯示服務的說明;
 
  需要注意的是,ntsysv 命令不僅可以管理獨立服務的自啟動,也可以管理基于 xinetd 服務的自啟動。也就是說,只要是 RPM 包默認安裝的服務都能被 ntsysv 命令管理。但是源碼包安裝的服務不行。
 
  這樣管理服務的自啟動多么方便,為什么還要學習其他的服務自啟動管理命令呢? ntsysv 命令雖然簡單,但它是紅帽系列 Linux 的專有命令,其他的 Linux 發行版本不一定擁有這條命令,而且條命令也不能管理源碼包安裝的服務,所以我們推薦大家使用 /etc/rc.d/rc.local 文件來管理服務的自啟動。
 

(編輯:武林網)

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 敖汉旗| 平遥县| 吴旗县| 阜阳市| 汝州市| 兴山县| 龙州县| 恭城| 凤阳县| 民县| 丘北县| 宜君县| 丰原市| 彰化市| 宜章县| 商河县| 铜山县| 仪陇县| 六安市| 饶平县| 康保县| 马山县| 绿春县| 金华市| 玛曲县| 扎鲁特旗| 南陵县| 陕西省| 惠东县| 巩义市| 安义县| 永吉县| 湾仔区| 孟连| 湄潭县| 玉环县| 景德镇市| 鹤山市| 日照市| 封丘县| 乌兰察布市|