chkconfig命令主要用來更新(啓動或中止)和查詢系統服務的運行級信息。謹記chkconfig不是當即自動禁止或激活一個服務,它只是簡單的改變了符號鏈接。html
使用語法:
chkconfig [--add][--del][--list][系統服務] 或 chkconfig [--level <等級代號>][系統服務][on/off/reset]mysql
chkconfig在沒有參數運行時,顯示用法。若是加上服務名,那麼就檢查這個服務是否在當前運行級啓動。若是是,返回true,不然返回false。若是在服務名後面指定了on,off或者reset,那麼chkconfi 會改變指定服務的啓動信息。on和off分別指服務被啓動和中止,reset指重置服務的啓動信息,不管有問題的初始化腳本指定了什麼。on和off開關,系統默認只對運行級3,4,5有效,可是reset能夠對全部運行級有效。linux
參數用法:
--add 增長所指定的系統服務,讓chkconfig指令得以管理它,並同時在系統啓動的敘述文件內增長相關數據。
--del 刪除所指定的系統服務,再也不由chkconfig指令管理,並同時在系統啓動的敘述文件內刪除相關數據。
--level<等級代號> 指定讀系統服務要在哪個執行等級中開啓或關畢。
等級0表示:表示關機
等級1表示:單用戶模式
等級2表示:無網絡鏈接的多用戶命令行模式
等級3表示:有網絡鏈接的多用戶命令行模式
等級4表示:不可用
等級5表示:帶圖形界面的多用戶模式
等級6表示:從新啓動
須要說明的是,level選項能夠指定要查看的運行級而不必定是當前運行級。對於每一個運行級,只能有一個啓動腳本或者中止腳本。當切換運行級時,init不會從新啓動已經啓動的服務,也不會再次去中止已經中止的服務。sql
chkconfig --list [name]:顯示全部運行級系統服務的運行狀態信息(on或off)。若是指定了name,那麼只顯示指定的服務在不一樣運行級的狀態。
chkconfig --add name:增長一項新的服務。chkconfig確保每一個運行級有一項啓動(S)或者殺死(K)入口。若有缺乏,則會從缺省的init腳本自動創建。
chkconfig --del name:刪除服務,並把相關符號鏈接從/etc/rc[0-6].d刪除。
chkconfig [--level levels] name:設置某一服務在指定的運行級是被啓動,中止仍是重置。shell
運行級文件:
每一個被chkconfig管理的服務須要在對應的init.d下的腳本加上兩行或者更多行的註釋。第一行告訴chkconfig缺省啓動的運行級以及啓動和中止的優先級。若是某服務缺省不在任何運行級啓動,那麼使用 - 代替運行級。第二行對服務進行描述,能夠用\ 跨行註釋。
例如,random.init包含三行:
# chkconfig: 2345 20 80
# description: Saves and restores system entropy pool for \
# higher quality random number generation.數據庫
使用範例:
chkconfig --list #列出全部的系統服務
chkconfig --add httpd #增長httpd服務
chkconfig --del httpd #刪除httpd服務
chkconfig --level httpd 2345 on #設置httpd在運行級別爲二、三、四、5的狀況下都是on(開啓)的狀態
chkconfig --list #列出系統全部的服務啓動狀況
chkconfig --list mysqld #列出mysqld服務設置狀況
chkconfig --level 35 mysqld on #設定mysqld在等級3和5爲開機運行服務,--level 35表示操做只在等級3和5執行,on表示啓動,off表示關閉
chkconfig mysqld on #設定mysqld在各等級爲on,「各等級」包括二、三、四、5等級apache
如何增長一個服務:
1.服務腳本必須存放在/etc/ini.d/目錄下;
2.chkconfig --add servicename
在chkconfig工具服務列表中增長此服務,此時服務會被在/etc/rc.d/rcN.d中賦予K/S入口了;
3.chkconfig --level 35 mysqld on
修改服務的默認啓動等級。api
1. chkconfig是redhat中的服務配置工具服務器
2. 要使不在chkconfig目錄中的服務支持該命令,須要改該服務腳本的工具
例如:/etc/init.d/sshd
1.註釋中必須有這兩行 (chkconfig會查看全部註釋行)
# chkconfig: 2345 55 25 # description: SSH is a protocol for secure remote shell access. 描述文件
1.chkconfig參數1:表示在運行級別2345中默認代開 使用-表示默認關閉
2.chkconfig參數2:S55
3.chkconfig參數3:K45
2. 要在服務腳本中實現POSIX規範中的函數:start() stop()等
3.這時可使用 service xxxx(腳本名) start/stop等命令馬上啓動或關閉
3.要使該腳本每次啓動都生效
1.chkconfig --add xxxx註冊服務名
1.chkconfig會根據該腳本的信息,自動到相應運行級rcX.d中建立連接
2.chkconfig xxxx off 配置系統啓動時該腳本默認關閉
3.chkconfig xxxx on 配置系統啓動時該腳本默認啓動
4.chkconfig中的特殊服務xinetd ,xinetd服務下掛載一系列服務 ,腳本放在/etc/xinetd.d/
1.要啓動xinetd掛在的服務
1.chkconfig xinetd on
2.chkconfig xxx on
3.service xxx start
1.chkconfig是一個改變開機啓動項的命令,修改/etc/rc[0-6].d文件夾下的內容
2.chkconfig命令有5種不一樣的做用:增長新的服務、刪除服務、打印當前開啓啓動服務的信息、修改開啓啓動服務的信息、檢查一個指定服務的狀態
3.當chkconfig servicename時,它檢查這個服務是否是在當前的runlevel下被開啓啓動,若是是,返回true,不然false。chkconfig --level= servicename檢查服務是否是在指定的runlevel開機啓動
4.當chkconfig --list時,或者徹底沒有參數即chkconfig時,會列出當前的服務和他們的配置
5.若是on、off、reset、resetpriorities參數之一被指定時(在服務名參數後面),chkconfig命名改變這個服務的開機配置。on/off使服務開機啓動/中止。reset標誌重置on/off不論在開機啓動腳本中是什麼樣子的,resetpriorities也是,只是有優先級
6.默認,on/off命令支隊runlevel爲2,3,4,5的有影響,而reset和resetpriorities對全部runlevels都有影響。--level參數能夠指定被影響的runlevel
7.對每一個服務,每一個runlevel都有1個start/stop腳本。當change runlevel時,init進程不會重啓一個already-start的服務,也不會從新關閉一個already-stop的服務
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
|
chkconfig 檢查和設置系統的各類服務。
語法:chkconfig [--add][--del][--list][系統服務] :增、刪、查系統服務(/etc/【rc.d】/init.d/……)
chkconfig [--level <等級代號>] [系統服務][on/off/reset] :開啓關閉重置系統服務
--level<等級代號> 指定讀系統服務要在哪個執行等級中開啓或關閉。
level
abrt-ccpp 0:關閉 1:關閉 2:關閉 3:啓用 4:關閉 5:啓用 6:關閉
abrt-oops 0:關閉 1:關閉 2:關閉 3:啓用 4:關閉 5:啓用 6:關閉
abrtd 0:關閉 1:關閉 2:關閉 3:啓用 4:關閉 5:啓用 6:關閉
等級0表示:表示關機
等級1表示:單用戶模式
等級2表示:無網絡鏈接的多用戶命令行模式
等級3表示:有網絡鏈接的多用戶命令行模式
等級4表示:不可用
等級5表示:帶圖形界面的多用戶模式
等級6表示:從新啓動
chkconfig 沒有參數運行時,顯示用法。若是加上服務名,那麼就檢查這個服務是否在當前運行級啓動。
若是是,返回true,不然返回false。
若是在服務名後面指定了on,off或者reset,那麼chkconfi 會改變指定服務的啓動信息。
on和off分別指服務被啓動和中止,reset指重置服務的啓動信息,不管有問題的初始化腳本指定了什麼。
on和off開關,系統默認只對運行級3,4,5有效,可是reset能夠對全部運行級有效
chkconfig svnserved on
svnserved 0:關閉 1:關閉 2:啓用 3:啓用 4:啓用 5:啓用 6:關閉
chkconfig svnserved on
svnserved 0:關閉 1:關閉 2:關閉 3:關閉 4:關閉 5:關閉 6:關閉
|
本文假設你的apahce安裝目錄爲/usr/local/apache2,這些方法適合任何狀況 apahce啓動命令: /usr/local/apache2/bin/apachectl start apaceh啓動 apache中止命令 /usr/local/apache2/bin/apachectl stop 中止 apache從新啓動命令: /usr/local/apache2/bin/apachectl restart 重啓 要在重啓 Apache 服務器時不中斷當前的鏈接,則應運行:
/usr/local/sbin/apachectl graceful 若是apache安裝成爲linux的服務的話,能夠用如下命令操做: service httpd start 啓動
service httpd restart 從新啓動
service httpd stop 中止服務
chkconfig
功能說明:檢查,設置系統的各類服務。
語 法:chkconfig
[--add][--del][--list][系統服務]或chkconfig[--level<等級代號>][系統服務][on/off/reset]
補充說明:這是RedHat公司遵循GPL規則所開發的程序,它可查詢操做系統在每個執行等級中會執行哪些系統服務,其中包括各種常駐服務。
參 數:
--add 增長所指定的系統服務,讓chkconfig指令得以管理它,並同時在系統啓動的敘述文件內增長相關數據。
--del 刪除所指定的系統服務,再也不由chkconfig指令管理,並同時在系統啓動的敘述文件內刪除相關數據。
--level<等級代號> 指定讀系統服務要在哪個執行等級中開啓或關畢
1:chkconfig 命令也能夠用來激活和解除服務。chkconfig --list 命令顯示系統服務列表,以及這些服務在運行級別0到6中已被啓動(on)仍是中止(off)。
chkconfig --list
chkconfig --list httpd
httpd 0:off 1:off 2:on 3:on 4:on 5:on 6:off
2:chkconfig 還能用來設置某一服務在某一指定的運行級別內被啓動仍是被停運。譬如,要在運行級別三、四、5中停運 nscd 服務,使用下面的命令:
chkconfig --level 345 nscd off
3:由 xinetd 管理的服務會當即被 chkconfig 影響。譬如,若是 xinetd 在運行,finger 被禁用,那麼執行了 chkconfig finger on 命令後,finger 就沒必要手工地從新啓動 xinetd 來當即被啓用。對其它服務的改變在使用 chkconfig 以後不會當即生效。必須使用service servicename start/stop/restart命令來重起服務
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
|
]Linux中如何自動啓動服務
linux自動啓動服務很簡單,最簡單的是把啓動命令放到/etc/rc.d/rc.local文件裏。這樣就能夠每次啓動的時候自動啓動服務了。例如對於 apache,編譯好apache後會在安裝目錄的bin下生成apachectl文件,這是個啓動腳本,咱們只須要把這個命令加到rc.local裏就能夠了:
echo /usr/local/apache/bin/apachectl >> /etc/rc.d/rc.local
此外咱們還可使用chkconfig命令來把某項服務加到系統的各項運行級別中,步驟以下:
1 建立啓動腳本,對於apache、mysql、ssh這樣的軟件都是本身帶的,咱們只要稍微修改一下使之支持chkconfig就能夠了
2 修改腳本
咱們須要在腳本的前面加上2行,才能支持chkconfig命令
# chkconfig: 2345 08 92
# description: Automates a packet filtering firewall with ipchains.
chkconfig:後面定義的使啓動服務的運行級別(例子中使2345啓動該服務),以及關閉和啓動服務的順序(上例中啓動服務的順序是8,關閉的順序是92)。
descriptions:對該服務的描述(上例中是ipchains包過濾),你能夠換成本身想要的
修改好以後執行
cp 你的腳本 /etc/rc.d/init.d/腳本名
chmod 700 /etc/rc.d/init.d/腳本名
chkconfig --add 腳本名
之後每次從新啓動服務器都會自動啓動和關閉咱們的服務了
並且你執行setup以後也能夠看到咱們添加的服務,選中咱們添加的服務按F1鍵還能夠看到咱們定製的信息。
附chkconfig命令:
chkconfig命令主要用來更新(啓動或中止)和查詢系統服務的運行級信息。謹記chkconfig不是當即自動禁止或激活一個服務,它只是簡單的改變了符號鏈接。
語法:
chkconfig --list [name]
chkconfig --add name
chkconfig --del name
chkconfig [--level levels] name <
on
|off|reset>
chkconfig [--level levels] name
chkconfig 沒有參數運行時,顯示用法。若是加上服務名,那麼就檢查這個服務是否在當前運行級啓動。若是是,返回true,不然返回false。若是在服務名後面指定 了on,off或者reset,那麼chkconfi 會改變指定服務的啓動信息。on和off分別指服務被啓動和中止,reset指重置服務的啓動信息,不管有問題的初始化腳本指定了什麼。on和off開 關,系統默認只對運行級3,4,5有效,可是reset能夠對全部運行級有效。
--level選項能夠指定要查看的運行級而不必定是當前運行級。
須要說明的是,對於每一個運行級,只能有一個啓動腳本或者中止腳本。當切換運行級時,init不會從新啓動已經啓動的服務,也不會再次去中止已經中止的服務。
chkconfig --list :顯示全部運行級系統服務的運行狀態信息(on或off)。若是指定了name,那麼只顯示指定的服務在不一樣運行級的狀態。
chkconfig --add name:增長一項新的服務。chkconfig確保每一個運行級有一項啓動(S)或者殺死(K)入口。若有缺乏,則會從缺省的init腳本自動創建。
chkconfig --del name:刪除服務,並把相關符號鏈接從/etc/rc[0-6].d刪除。
chkconfig [--level levels] name <
on
|off|reset>:設置某一服務在指定的運行級是被啓動,中止仍是重置。例如,要在3,4,5運行級中止nfs服務,則命令以下:
chkconfig --level 345 nfs off
運行級文件:
每一個被chkconfig管理的服務須要在對應的init.d下的腳本加上兩行或者更多行的註釋。第一行告訴chkconfig缺省啓動的運行級以及啓動和中止的優先級。若是某服務缺省不在任何運行級啓動,那麼使用 - 代替運行級。第二行對服務進行描述,能夠用\ 跨行註釋。
例如,random.init包含三行:
# chkconfig: 2345 20 80
# description: Saves and restores system entropy pool for \
# higher quality random number generation.
此例子代表random服務的缺省啓動運行級在二、三、四、5級,啓動的優先級(順序號)是20,中止的優先級(順序號)是80。
附加介紹一下Linux系統的運行級的概念:
Linux中有多種運行級,常見的就是多用戶的2,3,4,5 ,不少人知道5是運行X-Windows的級別,而0就是關機了。運行級的改變能夠經過init命令來切換。例如,假設你要維護系統進入單用戶狀態,那麼,可使用init1來切換。在Linux的運行級的切換過程當中,系統會自動尋找對應運行級的目錄/etc/rc[0-6].d下的K和S開頭的文件, 按後面的數字順序,執行這些腳本。對這些腳本的維護,是很繁瑣的一件事情,Linux提供了chkconfig命令用來更新和查詢不一樣運行級上的系統服務
|
通常的Linux系統,服務通常配置在/etc/init.d或者/etc/rc.d/init.d文件夾下,國產RedFlag Linux乾脆兩個目錄下都有對應的服務,只是/etc/init.d下面的配置成系統默認的。
PS:RedFlag Linux還兼容Dos命令,看來是竭盡全力的縱容了用戶的習慣。
下面是我在RedFlag Linux的兩個服務目錄下看到的(保留部分有表明性的):
$ ls /etc/init.d | $ ls /etc/rc.d/init.d | 說明 |
dhcpd | dhcpd | DHCP服務 |
httpd | httpd | WEB服務 |
ldap | ldap | 輕量級目錄服務 |
mysqld | mysqld | Mysql數據庫服務 |
proftpd | proftpd | FTP服務 |
sendmail | sendmail | 郵件服務 |
smb | smb | 網絡文件服務 |
sshd | sshd | SSH服務 |
每一個服務的啓動:/etc/init.d/{服務名} start或者/etc/rc.d/init.d/{服務名} start 每一個服務的中止:/etc/init.d/{服務名} stop或者/etc/rc.d/init.d/{服務名} stop 每一個服務的重啓:/etc/init.d/{服務名} restart或者/etc/rc.d/init.d/{服務名} restart
好比對samba服務進行操做(對應服務名smb):
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
|
linux開機啓動服務的修改與查看
首先了解linux的運行級別有哪些?
6個運行級別
# 0 - 停機(千萬不要把initdefault設置爲0 )
# 1 - 單用戶模式
# 2 - 多用戶,可是沒有NFS
# 3 - 徹底多用戶模式
# 4 - 沒有用到
# 5 - X11
# 6 - 從新啓動(千萬不要把initdefault設置爲6 )
# 對各個運行級的詳細解釋:
0 爲停機,機器關閉。
1 爲單用戶模式,就像Win9x下的安全模式相似。
2 爲多用戶模式,可是沒有NFS支持。
3 爲完整的多用戶模式,是標準的運行級。
4 通常不用,在一些特殊狀況下能夠用它來作一些事情。例如在筆記本電腦的電池用盡時,能夠切換到這個模式來作一些設置。
5 就是X11,進到X Window系統了。
6 爲重啓,運行init 6機器就會重啓。
修改級別
vi /etc/inittab
把id:3:initdefault:中的3改成相應的級別
每次系統開機的時候,都會根據不一樣的runlevel級別啓動不一樣的服務。
開機按[CTRL]+[ALT]+[F7]/[F8]可查看系統啓動時正在啓動的服務!!!!
衆所周知Linux給咱們提供了7中不一樣的啓動級別0~6,那麼不一樣的啓動級別都會啓動那些服務哪。可使用chkconfig ——list 查看,可使用chkconfig 服務名 ——level 3 {on|of}修改是否要再某個級別啓動或中止。
1. 例如:要把sshd服務在第3種啓動級別中中止。
[root@team4 rc3.d]# chkconfig sshd --level 3 off 中國網管聯盟www.bitscn.com
2. 還能夠手工修改,在/etc/rc.d/這個目錄裏有不少不一樣runlevel對應的目錄,裏面代表進入某個啓動級別時要啓動和中止那些服務。
例如: 中國網管聯盟www、bitsCN、com
[root@team4 etc]# ls /etc/rc.d
init.d rc0.d rc2.d rc4.d rc6.d rc.sysinit
rc rc1.d rc3.d rc5.d rc.local
咱們用rc3.d這個目錄爲例,這個目錄裏面記錄的是進入init 3時須要中止和啓動那些服務。
下面爲rc3.d目錄的內容:
[root@team4 etc]# ls /etc/rc.d/rc3.d/
K02avahi-dnsconfd K89pand S25bluetooth
K02dhcdbd K89rdisc S25netfs
K02NetworkManager K91capi S25pcscd
K02NetworkManagerDispatcher K99readahead_later S26apmd
K05conman S04readahead_early S26hidd
K開頭表明這個啓動級別須要中止的服務,編號是中止的時候執行的順序,再後面就是服務明瞭。
S開頭則是要啓動那些服務。 網管網bitsCN_com
注意:先執行K開頭的,後執行S開頭的。因此S開頭的服務會覆蓋K開頭的服務。
Linux設置程序的開機自啓動與Linux服務
這裏只說我所知道的,舉例以下
需求是我要用Windows下的VNC Viewer鏈接到Linux Server. 我在Linux下面輸入
#vncserver
設置好密碼,好如今我就能夠在Windows下面使用VNC鏈接到Linux桌面了,這個時候若是個人Linux Server系統重啓了,那麼我還得再敲一次vncserver這個命令,因此我如今要讓Linux Server在開機時自動啓動vncserver
有哪些方法呢?
1. 我能夠把vncserver設置成系統的服務,並啓動起來,使用以下命令查看vncserver是否已是系統的服務
#chkconfig --list|grep vnc
vncserver 0:off 1:off 2:off 3:off 4:off 5:off 6:off
如今咱們要設置vncserver開機自啓動,使用以下命令
#chkconfig --level 5 vncserver on#chkconfig --list|grep vnc
vncserver 0:off 1:off 2:off 3:off 4:off 5:on 6:off
這個時候重啓系統,那麼vncserver就會以服務的方式自動起來,可是如今若是想當即使用vnc則直接敲命令 vncserver便可
2. 咱們能夠把vncserver這條命令寫在Linux開機要運行的腳本里面,那些腳本是Linux開機時要執行的呢?
我知道的有如下這些:
/etc/rc.local
/etc/rc.sysinit
/etc/inittab
/etc/profile
這裏記住Linux服務於Linux開機自啓動之間的區別和聯繫。
|
RedHat Linux下注冊Apache爲系統服務並設爲開機啓動
1、系統環境:
操做系統:Red Hat Enterprise Linux Server release 5.4
Apache版本:httpd-2.2.19
2、註冊服務
#將apachectl複製到init.d目錄下
[root@bogon ~]# cp /usr/local/apache2/bin/apachectl /etc/rc.d/init.d/httpd
#修改httpd
[root@bogon ~]# vi /etc/init.d/httpd
#找到#!/bin/sh,另起一行增長如下內容,並保存(:wq!)退出。
#chkconfig:345 85 15
#description:Start and stop the Apache HTTP Server
【說明】:在註冊過程當中增長#chkconfig:35 70 30,再經過chkconfig --add httpd註冊服務時,報以下錯誤service httpd does not support chkconfig,修改成chkconfig: 2345 10 90便可正常註冊。
#註冊服務
[root@bogon init.d]# chkconfig --add httpd
[root@bogon init.d]# chkconfig httpd on
3、經過服務方式啓動、中止Apache
#啓動、重啓、中止服務
啓動服務:service httpd start
中止服務:service httpd stop
從新啓動:service httpd restart
四、設爲開機啓動
在/etc/rc.d/rc.local中增長啓動apache的命令,例如:/usr/local/apache2/bin/apachectl start
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
|
源碼安裝apache及配置轉發
1、 安裝Apache
a) 解壓:tar -xvf httpd-*;
b) ./configure --prefix=/usr/oracle/apache CC="gcc -m32" \--enable-proxy=shared --enable-proxy-http=shared --enable-proxy-ftp=shared --enable-proxy-connect=shared --enable-so --enable-modules=all --enable-mods-shared=all
c) make
d) make install
基本的操做方法:
本文假設你的apahce安裝目錄爲/usr/local/apache2,這些方法適合任何狀況
apahce啓動命令:
推薦/usr/local/apache2/bin/apachectl start apaceh啓動
apache中止命令
/usr/local/apache2/bin/apachectl stop 中止
apache從新啓動命令:
/usr/local/apache2/bin/apachectl restart 重啓
要在重啓 Apache 服務器時不中斷當前的鏈接,則應運行:
/usr/local/sbin/apachectl graceful
若是apache安裝成爲linux的服務的話,能夠用如下命令操做:
service httpd start 啓動
service httpd restart 從新啓動
service httpd stop 中止服務
配置轉發功能
打開apache安裝目錄的conf文件夾下的httpd.conf
一、將如下兩行前的註釋字符 # 去掉:
#LoadModule proxy_module modules/mod_proxy.so
#LoadModule proxy_http_module modules/mod_proxy_http.so
二、在httpd.conf 文件的最後加上轉發規則
例如:
ProxyPass /cas http://192.168.0.206:9090/cas
ProxyPassReverse /cas http://192.168.0.206:9090/cas
將/cas開頭的請求轉發到206服務器9090端口的cas上
依次類推,其餘的轉發也是經過這種方式設置,如:
ProxyPass /cas http://192.168.0.206:9090/cas
ProxyPassReverse /cas http://192.168.0.206:9090/cas
#bbs不轉發,採用apache處理
ProxyPass /bbs !
ProxyPassReverse /bbs !
|