天天看点

给源码包提供的服务编写启动脚本

给源码包提供的服务编写启动脚本

以apache服务为例

实验要求:

安装apache源码包,安装之后能够通过,service apached start/stop/status命令来启动、暂停、查看服务

实验思路:

1安装apache之前必须要安装gcc

2用源码包安装四步走安装apache源码包

3编辑apache启动脚本,apached,

4把apache启动脚本放到/etc/init.d下面,同时不要忘记添加chkconfig 和description

5把apache服务添加到开机自启

实验实现:

实验开始之前,先把httpd服务关闭

#service httpd stop

1、用yum的方式安装gcc

#yum -y install gcc

2、安装apace源码包

#tar -xvf httpd-2.2.25.tar.gz -C /usr/local/#解压

#cd /usr/local/

#cd httpd-2.2.25

#./configure#配置

#make#编译

#make install#安装

3、编写启动脚本

#vim apached

#!/bin/bash

#chkconfig: 2345 56 24

#description:  Openapache server daemon

start() {

/usr/local/apache2/bin/apachectl start

echo "source $1 is running.."

mkdir /tmp/httpd.lock#创建一个测试文件,文件存在时说明服务已经开启

}

stop(){

/usr/local/apache2/bin/apachectl stop

echo "source $1 is stopped.."

rm -rf /tmp/httpd.lock#关闭服务的时候删除文件

status() {

if [ -e /tmp/httpd.lock ];then

       echo "source $1 already running ..."#通过查看测试文件是否存在,确定服务的开启状态

else

       echo "source $1 is stoped now"

fi

case "$1" in

"status")

status;;

"start")

start;;

"stop")

stop;;

*)

echo "$0 values in { start | stop | status }"

esac

4、把脚本放到/etc/init.d/下,给脚本增加x权限

#mv apached /etc/init.d

这时候就可以用service apached start|stop|status

等命令进行服务的启动、停止、查看状态

#chmod +x apached

5、设置开机自启动

#chkconfig --add apached

6、测试

#service apached start

source  is running..

#service apached status

source  already running ...

#service apached stop

source  is stopped..

source  is stoped now

实验总结:

1、脚本不要忘记添加x权限

2、chkconfig --add 服务名 添加不成功时,可以参考/etc/init.d下的其他启动脚本

3、chkconfig 2345 56 56 (开机启动级别  开机启动顺序  关机启动顺序)

4、本次创建的脚步,只是通过检查文件是否存在来判断服务的开启状态,如果通过杀进程

的方式来杀死服务的话,服务状态的判读就会出错。也可以通过netstat 查看进程或者查看80端口的状态,确定服务的状态

      本文转自Jx战壕  51CTO博客,原文链接:http://blog.51cto.com/xujpxm/1386741,如需转载请自行联系原作者

继续阅读