日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
Linux獨立服務(wù)管理(RPM包的啟動與自啟動)
我們知道,RPM 包默認安裝的服務(wù)分為獨立的服務(wù)和基于 xinetd 的服務(wù),本節(jié)來學(xué)習(xí)獨立服務(wù)的管理。

獨立服務(wù)的啟動管理

獨立的服務(wù)要想啟動,主要有兩種方法。

1) 使用/etc/init.d/目錄中的啟動腳本來啟動獨立的服務(wù)

既然所有獨立服務(wù)的啟動腳本都存放在 /etc/init.d/ 目錄中,那么,調(diào)用這些腳本就可以啟動獨立的服務(wù)了。這種啟動方式是推薦啟動方式,命令格式如下:

[root@localhost ~]#/etc/init.d獨立服務(wù)名 start| stop|status|restart|...

參數(shù):

  • start:啟動服務(wù);
  • stop:停止服務(wù);
  • status:查看服務(wù)狀態(tài);
  • restart:重啟動服務(wù);

我們以啟動 RPM 包默認安裝的 httpd 服務(wù)為例,命令如下:

[root@localhost ~]# /etc/init.d/httpd start
正在啟動httpd:
[確定]
#啟動httpd服務(wù)
[root@localhost ~]# /etc/init.d/httpd status
httpd (pid 13313)正在運行…
#查詢httpd服務(wù)狀態(tài),并能夠看到httpd服務(wù)的PID
[root@localhost ~]#/etc/init.d/httpd stop
停止 httpd:
[確定]
#停止httpd服務(wù)
[root@localhost ~]#/etc/init.d/httpd restart
停止httpd:
[失敗]
正在啟動httpd:
[確定]
重啟動httpd服務(wù)

2) 使用service命令來啟動獨立的服務(wù)

在 CentOS 系統(tǒng)中,我們還可以依賴 service 命令來啟動獨立的服務(wù)。service 命令實際上只是一個腳本,這個腳本仍然需要調(diào)用 /etc/init.d/ 中的啟動腳本來啟動獨立的服務(wù)。而且 service 命令是紅帽系列 Linux 的專有命令,其他的 Linux 發(fā)行版本不一定擁有這條命令,所以我們并不推薦使用 service 命令來啟動獨立的服務(wù)。

service 命令格式如下:

[root@localhost ~]# service 獨立服務(wù)名 start|stop|restart|...

例如:

[root@localhost ~]# service httpd restart
停止httpd:
[確定]
正在啟動httpd:
[確定]

命令比輸入 /etc/init_d/ 目錄要稍微簡單。service 命令還可以查看所有獨立服務(wù)的啟動狀態(tài),這是一個常用功能,命令格式如下:

[root@localhost ~]# service --status -all

選項:

  • --status -all:列出所有獨立服務(wù)的啟動狀態(tài);

例如:

abrtd(pid 1505)正在運行…
abrt-dumpoops(pid 1513)正在運行…
acpid(pid 1312)正在運行...
…省略部分輸出…

隨著 httpd 服務(wù)的啟動和停止,使用"netstat -tlun"命令就會看到 80 端口出現(xiàn)和消失。這也就說明 apache 服務(wù)綁定的口就是 80,所以我們可以端口是否在服務(wù)器中出現(xiàn)來判斷 apache 服務(wù)是否啟動。

獨立服務(wù)的自啟動管理

自啟動指的是在系統(tǒng)之后,服務(wù)是否隨著系統(tǒng)的啟動而自動啟動。如果啟動了某個服務(wù),那么這個服務(wù)會在系統(tǒng)重啟之后啟動嗎?

答案是不知道,因為啟動命令只負責(zé)啟動服務(wù),而和服務(wù)的自啟動完全沒有關(guān)系。同樣地,自啟動命令只管服務(wù)是否會在系統(tǒng)重啟之后啟動,而和當(dāng)前系統(tǒng)中的服務(wù)是否啟動沒有關(guān)系。

獨立服務(wù)的自啟動方法有三種,我們分別來學(xué)習(xí)。

1) 使用 chkconfig 服務(wù)自啟動管理命令

第一種方法是利用 chkconfig 服務(wù)自啟動管理命令來管理獨立服務(wù)的自啟動,這條命令的用法如下:

[root@localhost ~]# chkconfig --list

使用 chkconfig 命令除了可以查看所有 RPM 包默認安裝服務(wù)的自啟動狀態(tài),也可以修改和設(shè)置 RPM 包默認安裝服務(wù)的自啟動狀態(tài),只是獨立的服務(wù)和基于 xinetd 的服務(wù)的設(shè)定方法稍有不同。我們先來看看獨立的服務(wù)如何設(shè)置。命令格式如下:

[root@localhost ~]# chkconfig [--level 運行級別][獨立服務(wù)名][on|off]

#選項:

  • --level: 設(shè)定在哪個運行級別中開機自啟動(on),或者關(guān)閉自啟動(off);

例如:

[root@localhost ~]# chkconfig --list | grep httpd
httpd 0:關(guān)閉 1:關(guān)閉 2:關(guān)閉 3:關(guān)閉 4:關(guān)閉 5:關(guān)閉 6:關(guān)閉
#查詢httpd的自啟動狀態(tài)。所有的級別都是不自啟動的
[root@localhost ~]# chkconfig --level 2345 httpd on
#設(shè)置apache服務(wù)在進入2、3、4、5級別時自啟動
[root@localhost ~]# chkconfig --list | grep httpd
httpd 0:關(guān)閉 1:關(guān)閉 2:啟用 3:啟用 4:啟用 5:啟用 6:關(guān)閉
#查詢apache服務(wù)的自啟動狀態(tài)。發(fā)現(xiàn)在2、3、4、5這4個運行級別中變?yōu)榱?啟用"

還記得 0~6 這 7 個 Linux 的運行級別嗎?如果在 0~6 這 7 個運行級別中服務(wù)都顯示"關(guān)閉",則該服務(wù)不自啟動。如果在某個運行級別中顯示"啟用",則代表在進入這個運行級別時,該服務(wù)開機自啟動。

服務(wù)的自啟動方法和服務(wù)的啟動方法是不通用的,我們做一個實驗驗證一下。命令如下:

[root@localhost ~]# /etc/init.d/httpd status
httpd已停
#查詢apache服務(wù)狀態(tài),是已經(jīng)停止的
[root@localhost ~]# chkconfig --level 2345 httpd on
#設(shè)置apache服務(wù)在進入2、3、4、5級別時自啟動
[root@localhost ~]# chkconfig --list|grep httpd
httpd 0:關(guān)閉 1:關(guān)閉 2:啟用 3:啟用 4:啟用 5:啟用 6:關(guān)閉
#查看一下,自啟動已經(jīng)生效
[root@localhost ~]#/etc/init.d/httpd status
httpd已停
#但是apache服務(wù)在當(dāng)前系統(tǒng)中還是關(guān)閉的

大家看到了嗎?雖然 apach 被設(shè)置為自啟動,但是當(dāng)前系統(tǒng)中的 apache 是沒有啟動的,所以啟動和自啟動是獨立的。

2) 修改 /etc/rc.d/rc.local 文件,設(shè)置服務(wù)自啟動

第二種方法就是修改 /etc/rc.d/rc.local 文件,在文件中加入服務(wù)的啟動命令。這個文件是在系統(tǒng)啟動時,在輸入用戶名和密碼之前最后讀取的文件(注意:/etc/rc.d/rc.loca和/etc/rc.local 文件是軟鏈接,修改哪個文件都可以)。這個文件中有什么命令,都會在系統(tǒng)啟動時調(diào)用。

如果我們把服務(wù)的啟動命令放入這個文件,這個服務(wù)就會在開機時自啟動。命令如下:

[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 服務(wù)就會開機自啟動了。推薦大家使用這種方法管理服務(wù)的自啟動,有兩點好處:

  • 第一,如果大家都采用這種方法管理服務(wù)的自啟動,當(dāng)我們碰到一臺陌生的服務(wù)器時,只要查看這個文件就知道這臺服務(wù)器到底自啟動了哪些服務(wù),便于集中管理。
  • 第二,chkconfig 命令只能識別 RPM 包默認安裝的服務(wù),而不能識別源碼包安裝的服務(wù)。 源碼包安裝的服務(wù)的自啟動也是通過 /etc/rc.d/rc.local 文件實現(xiàn)的,所以不會出現(xiàn)同一臺服務(wù)器自啟動了兩種安裝方法的同一個服務(wù)。

還要注意一下,修改 /etc/rc.d/rc.local 配置文件的自啟動方法和 chkconfig 命令的自啟動方法是兩種不同的自啟動方法。所以,就算通過修改 /etc/rc.d/rc.local 配置文件的方法讓某個獨立的服務(wù)自啟動了,執(zhí)行"chkconfig --list"命令并不到有什么變化。

3) 使用 ntsysv 命令管理自啟動

第三種方法是使用 ntsysv 命令調(diào)用窗口模式來管理服務(wù)的自啟動,非常簡單。命令格式如下:

[root@localhost ~]# ntsysv [--level 運行級別]

選項:

  • --level 運行級別:可以指定設(shè)定自啟動的運行級別;

例如:

[root@localhost ~]# ntsysv --level 235
#只設(shè)定2、3、5級別的服務(wù)自啟動
[root@localhost ~]# ntsysv
#按默認的運行級別設(shè)置服務(wù)自啟動

執(zhí)行命令后,會和 setup 命令類似,出現(xiàn)命令界面,如圖 1 所示。





圖 1 ntsysv命令界面

這個命令的操作是這樣的:

  • 上下鍵:在不同服務(wù)之間移動;
  • 空格鍵:選定或取消服務(wù)的自啟動。也就是在服務(wù)之前是否輸入"*";
  • Tab鍵:在不同項目之間切換;
  • F1鍵:顯示服務(wù)的說明;

需要注意的是,ntsysv 命令不僅可以管理獨立服務(wù)的自啟動,也可以管理基于 xinetd 服務(wù)的自啟動。也就是說,只要是 RPM 包默認安裝的服務(wù)都能被 ntsysv 命令管理。但是源碼包安裝的服務(wù)不行。

這樣管理服務(wù)的自啟動多么方便,為什么還要學(xué)習(xí)其他的服務(wù)自啟動管理命令呢? ntsysv 命令雖然簡單,但它是紅帽系列 Linux 的專有命令,其他的 Linux 發(fā)行版本不一定擁有這條命令,而且條命令也不能管理源碼包安裝的服務(wù),所以我們推薦大家使用 /etc/rc.d/rc.local 文件來管理服務(wù)的自啟動。


網(wǎng)站標(biāo)題:Linux獨立服務(wù)管理(RPM包的啟動與自啟動)
網(wǎng)頁網(wǎng)址:http://www.5511xx.com/article/cocigih.html