apache 開機自啟動指令碼設定,apache指令碼
預設我們源碼編譯安裝apache,是不能使用service這個命令來啟動的,通常我們啟動的命令是:
[root@localhost httpd-2.2.16]# /usr/local/apache2/bin/apachectl start
/usr/local/apache2/bin/中的apachectl其實就是一個啟動指令碼,我們把他copy到/etc/init.d/去,並且重新命名為apache2(這個名字隨便取,你自己方便就行)
[root@localhost httpd-2.2.16]# cp /usr/local/apache2/bin/apachectl /etc/init.d/apache2
然後修改2個地方,讓他支援service和chkconfig命令
[root@localhost httpd-2.2.16]# vim /etc/init.d/apache2
在前面一大段注釋中任意地方加入這2行:
# chkconfig: 35 20 80
# description: Apache2
第一行後面的3個數位意思分別是:在哪些運行層級啟動apache(3,5);啟動序號(S20);關閉序號(K80)。
3和5也就是說在第三啟動層級和第五啟動層級的時候會預設啟動apache
20就是指系統起來的時候有很多的服務需要啟動,而這個程式排在第二十位啟動,以此類推
80就是指系統關閉的時候,這個服務順序排在第80位關閉
注意:這2行缺一不可,#號不能省略,一定要有
然後儲存退出,這樣我們就可以用service來啟動和關閉apache了
比如:
[root@localhost httpd-2.2.16]# service apache2 start
[root@localhost httpd-2.2.16]# netstat -antp |grep 80
tcp 0 0 :::80 :::* LISTEN 13410/httpd
如果想讓apache跟隨系統一起啟動,也就是開機自啟動,那麼加入到chkconfig即可
[root@localhost httpd-2.2.16]# chkconfig –add apache2
[root@localhost httpd-2.2.16]# chkconfig apache2 on