chkconfig命令
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命令來重起服務
]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):
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
源碼安裝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 !