[root@localhost ~]# /usr/local/apache2/bin/apachectl start|stop|restart|...
#源碼包服務的啟動管理
[root@localhost ~]# /usr/local/apache2/bin/apachectl start
#會啟動源碼包安裝的apache服務
[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 don11
#want to do the full Sys V style init stuff.
touch /var/lock/subsys/local /usr/local/apache2/bin/apachectl start
#加入源碼包服務的標準啟動命令,保存退出,源碼包安裝的apache服務就被設為自啟動了
[root@localhost ~]# yum -y remove httpd
#卸載RPM包默認安裝的apache服務,避免對實驗產生影響(在生產服務器上慎用yum卸載,因為這有可能造成服務器崩潰)
[root@localhost ~]# service httpd start httpd:未被識別的服務
#因為服務被卸載,所以service命令不能識別httpd服務
#安裝源碼包的apache服務
[root@localhost ~]# /usr/local/apache2/bin/apachect1 start
[root@localhost ~]# netstat -tlun | grep 80
tcp 0 0 :::80 :::* LISTEN
#啟動源碼包安裝的apache服務,查看端口確定已經啟動
[root@localhost ~]# ln -s /usr/local/apache2/bin/apachectl /etc/±nit.d/apache
#service命令其實只是在/etc/init.d/目錄中查找是否有服務的啟動腳本,所以我們只需要做一個軟鏈接,把源碼包的啟動腳本鏈接到/etc/init.d/目錄中,就能被service命令所管理了。為了照顧大家的習慣,我把軟鏈接文件命名為apache,注意這不是RPM包默認安裝的apache服務
[root@localhost ~]# service apache restart
#雖然RPM包默認安裝的apache服務被卸載了,但是service命令也能夠生效
[root@localhost ~]# vi /etc/init.d/apache
#修改源碼包安裝的apache服務的啟動腳本(注意此文件是軟鏈接,所以修改的還是源碼包啟動腳本)
#!/bin/sh
#
#chkconfig: 35 86 76
#指定httpd腳本可以被chkconfig命令所管理
#格式是:chkconfig:運行級別 啟動順序 關閉順序
#這里我們讓apache服務在3和5級別中能被chkconfig命令所管理,啟動順序是S86,關閉順序是K76
#(自定順序,不要和系統中已有的啟動順序沖突)
#description: source package apache
#說明,內容隨意
#以上兩句話必須加入,才能被chkconfig命令所識別 ...省略部分輸出...
[root@localhost ~]# chkconfig --add apache
#讓chkconfig命令能夠管理源碼包安裝的apache服務
[root01ocalhost ~]# chkconfig --list | grep apache
apache 0:關閉 1:關閉 2:關閉 3:關閉 4:關閉 5:關閉 6:關閉
#很神奇吧,雖然RPM包默認安裝的apache服務被刪除了,但是chkconfig命令可以管理源碼包安裝的tapache服務
#ntsysv 命令其實和 chkconfig 命令使用同樣的管理機制,也就是說,ntsysv 已經可以進行源碼包安裝 apache 服務的自啟動管理了,如圖 1 所示

#chkconfig:運行級別 啟動順序 關閉
#description:說明
[root@localhost ~]# chkconfig [選項][服務名]
選項:[root@localhost ~]# chkconfig -del httpd
#把apache服務從chkconfig命令的管理中刪除
新聞熱點
疑難解答