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

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


以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..


#service apached status

source  is stoped now


实验总结:

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


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


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


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

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






你可能感兴趣的:(服务,启动脚本,源码包)