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

   

 

        /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

 

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

谢谢

 

 

posted @ 2017-10-09 17:38  低调人生  阅读(2836)  评论(0编辑  收藏  举报