给源码包提供的服务编写启动脚本
以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端口的状态,确定服务的状态
本文转自Jx战壕 51CTO博客,原文链接:http://blog.51cto.com/xujpxm/1386741,如需转载请自行联系原作者