Nginx启动脚本

       编译安装的nginx由于没有提供nginx服务的管理脚本,在启动、停止以及重启nginx时非常不方便,因此我写了一个比较粗糙的脚本,可使用linux中的service服务来对nginx进行管理,非常方便,同时也可以加入ckhconfig管理列表,方便不同级别的自启动,简单实用方法如下:

1、将脚本复制到/etc/init.d/目录下,命名为nginx,并赋予其执行权限

2、修改/etc/init.d/nginx,将base_dir变量修改为本机nginx的安装目录

3、使用方法如下:

       service nginx start  启动nginx

       service nginx stop  停止nginx

       service nginx restart  重启nginx

       service nginx relaod  平滑重启nginx

4、加入chkconfig管理

[root@centos ~]# chkconfig --add nginx
注意:如果加入chkconfig时报如下错误: service nginx does not support chkconfig,是因为脚本里没有加入chkconfig可识别的相关参数,通常我们会在脚本中加入以下两句代码:

# chkconfig: 2345 10 90  
# description: nginx  

第一行表示脚本在chkconfig管理中启动的相关参数,2345表示默认启动级别,10是启动优先级,90是停止优先级,优先级范围是0-100,数字越大,优先级越低

第二行是脚本描述信息

两行代码的位置要在#!/bin/bash 声明之后,切行首的#不可省略

5、脚本代码

#!/bin/bash
# chkconfig: 2345 10 90
# description: nginx
. /etc/rc.d/init.d/functions
function show_usage(){
        usage="Usage: `basename $0` [ start|stop|restart|reload ]"
        echo $usage
        exit
}
base_dir=/application/nginx/
[[ $# != 1 ]] && show_usage

nginx=${base_dir}sbin/nginx
case $1 in
start)
        [[ `netstat -ntlup|grep nginx|wc -l` > 0 ]] && failure && echo "Nginx is Running!" && exit
        echo "Starting Nginx..."
        $nginx
        ([ $? -eq 0 ] && success && echo "Nginx starts successfully!") || (failure && echo "Failed start nginx")
;;
stop)
        [[ `netstat -ntlup|grep nginx|wc -l` == 0 ]] && failure && echo "Nginx is NOT running!" && exit
        echo "Stopping Nginx..."
        $nginx -s stop
        ([ $? -eq 0 ] && success && echo "Nginx stops successfully!") || (failure && echo "Failed stop nginx!")

;;
restart)
        if [[ `netstat -ntlup|grep nginx|wc -l` == 0 ]]; then
                echo "Starting Nginx..."
                $nginx
                [ $? -eq 0 ] && success && echo "Nginx starts successfully!"
        else
                echo "Stopping Nginx..."
                $nginx -s stop
                ([ $? -eq 0 ] && success && echo "Nginx stops successfully!") || (failure && echo "Failed stop nginx!")
                echo "Starting Nginx..."
                $nginx
                ([ $? -eq 0 ] && success && echo "Nginx starts successfully!") || (failure && echo "Failed start nginx")
        fi
;;
reload)
        [[ `netstat -ntlup|grep nginx|wc -l` == 0 ]] && failure && echo "Nginx is NOT Running!" && exit
        $nginx -s reload
        [ $? -eq 0 ] && success && echo "Nginx reloads successfully!"
;;
*)
        show_usage
;;
esac


  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值