1、利用 chkconfig 來配置啟動層級
在CentOS或者RedHat其他系統下,如果是後面安裝的服務,如httpd、mysqld、postfix等,安裝後系統預設不會自動啟動的。就算手動執行 /etc/init.d/mysqld start 啟動了服務,只要伺服器重啟後,系統仍然不會自動啟動服務。 在這個時候,我們就需要在安裝後做個設定,讓系統自動啟動這些服務,避免不必要的損失和麻煩。 其實命令很簡單的,使用chkconfig即可。
比如要將mysqld設定為開機自動啟動:
代碼如下 |
複製代碼 |
chkconfig mysqld on |
要取消掉某個服務自動啟動,只需要將最後的參數 “on” 變更為 “off” 即可。
比如要取消 postfix 的自動啟動:
代碼如下 |
複製代碼 |
chkconfig postfix off |
值得注意的是,如果這個服務尚未被添加到 chkconfig 列表中,則現需要使用 –-add 參數將其添加進去:
代碼如下 |
複製代碼 |
chkconfig –-add postfix |
如果要查詢當前所有自動啟動的服務,可以輸入:
代碼如下 |
複製代碼 |
chkconfig -–list |
如果只想看指定的服務,只需要在 “–-list” 之後加上服務名就好了,比如查看httpd服務是否為自動啟動:
代碼如下 |
複製代碼 |
chkconfig –-list httpd httpd 0:off 1:off 2:off 3:off 4:off 5:off 6:off |
此時0~6均為off,則說明httpd服務不會在系統啟動的時候自動啟動。我們輸入:
代碼如下 |
複製代碼 |
chkconfig httpd on |
則此時為:
代碼如下 |
複製代碼 |
httpd 0:off 1:off 2:on 3:on 4:on 5:on 6:off |
這個時候2~5都是on,就表明會自動啟動了。
2、修改 /etc/rc.d/rc.local 這個檔案:
例如將 apache、mysql、samba、svn 等這些服務的開機自啟動問題一起搞定:
代碼如下 |
複製代碼 |
[網頁製作教程]-[http://www.111cn.net] vi /etc/rc.d/rc.local #添加以下命令 /usr/sbin/apachectl start /etc/rc.d/init.d/mysqld start /etc/rc.d/init.d/smb start /usr/local/subversion/bin/svnserve -d |
例
CentOS設定開機自動啟動某服務 這裡以啟動sshd服務為例: 查看sshd是否已經是系統服務: # chkconfig --list |grep sshd 會顯示: sshd 0:off 1:off 2:off 3:off 4:off 5:off 6:off www.111cn.net 使用如下命令設定sshd服務自動啟動: # chkconfig --level 5 sshd on 再次查看:
證明設定成功了! 重啟系統後,直接用SecureCRT工具訪問成功了