linux开机自启动设置,自定义开机启动模版,nginx开机自启动服务

时间:2022-02-28 15:38:44

   

 

        /etc/init.d 目录,我们把shell脚本放在这个目录下来作为启动脚本

        都是用来放服务脚本的,当Linux启动时,会寻找这些目录中的服务脚本,并根据脚本的run level确定不同的启动级别。

  在制作服务脚本的过程中,使用了Linux的两个版本,CentOS和Ubuntu,需要在两个版本中都可以开机启动服务。但Ubuntu没有 /etc/rc.d/init.d这个目录,所以,为了保持同一种服务在CentOS和Ubuntu使用的统一性,将服务脚本(注:服务脚本在两个不同版本中是不同的)都放在 /etc/init.d 目录下,最终达到的效果是相同的。

 

 

编写一个自定义开机启动模版,开机自动启动nginx服务(根据进程是否存在来判断

编写一个 nginx 文件 存放在 /etc/init.d 目录下

#!/bin/bash
#
chkconfig:2345 80 05 --指定在哪几个级别执行,0一般指关机,6指的是重启,其他为正常启动。80为启动的优先级,05为关闭的优先级别

RETVAL
=0
PROCESS=/usr/local/nginx-1.8.0/sbin/nginx #启动进程的命令
NAME=nginx #进程名称

start(){
#启动服务的入口函数
ID=`ps -ef | grep "$NAME" | grep -v "grep" | awk '{print $2}'` #获取进程 端口

if [ ! $ID ]; then #判断进程是否 启动
echo "start $NAME ... "
$PROCESS #如果没有启动 则启动
echo
"start $NAME service sucess !!!"
else
echo
"$NAME is running..."
fi
}


stop(){
#关闭服务的入口函数
ID=`ps -ef | grep "nginx" | grep -v "grep" | awk '{print $2}'`

for i in $ID #循环
do
echo
"$NAME Kill the $1 process [ $i ]"
kill
-9 $i #杀死进程
done

echo
"stop $NAME service sucess !!!"
}

#使用case选择
case $1 in
start)
start
;;
stop)
stop
;;
restart)
stop
start
;;
*)
echo
"error choice ! please input start or stop";;
esac
exit
$RETVA

 

然后就 添加nginx到service服务

#修改权限
chmod 755 /etc/init.d/nginx

#添加 nginx服务
chkconfig
--add nginx

#添加开机自动启动服务
chkconfig nginx on

#以下就可以允许这些服务
service nginx start
service nginx stop
service nginx reload

 

一个简单的 开机启动服务就完成了,这个模版供大家参考

谢谢