nginx linux脚本,Shell编写Nginx服务控制脚本

使用源码包安装的Nginx没办法使用"service nginx start"或"/etc/init.d/nginx start"进行操作和控制,所以写了以下的服务控制脚本。

可以使用的选项有:

start     启动

stop     停止

reload   重载

restart    重启

status    状态

test    检查配置文件

1、创建脚本文件并添加执行权限

# touch /etc/init.d/nginx

#chmod +x /etc/init.d/nginx

2、编写脚本内容

#!/bin/bash

# chkconfig:- 85 15# description: Nginx server control script

# processname: nginx

# configfile: /usr/local/nginx/conf/nginx.conf

# pidfile: /usr/local/nginx/logs/nginx.pid

#

# eastmoney public tools

# version: v1.0.0# create by XuHoo,2016-9-14#

# sourcefunctionlibrary

./etc/rc.d/init.d/functions

NGINX_NAME="nginx"NGINX_PROG="/usr/local/sbin/nginx"NGINX_PID_FILE="/usr/local/nginx/logs/nginx.pid"NGINX_CONF_FILE="/usr/local/nginx/conf/nginx.conf"NGINX_LOCK_FILE="/var/lock/subsys/nginx.lock"# check current user

["$USER" != "root" ] && exit 1start() {

statusif [[ $? -eq 0 ]]; then

echo $"Nginx (PID $(cat $NGINX_PID_FILE)) already started."return1

fi

echo -n $"Starting $NGINX_NAME:"daemon $NGINX_PROG-c $NGINX_CONF_FILE

retval=$?

echo[ $retval-eq 0 ] && touch$NGINX_LOCK_FILE

return $retval

}

stop() {

statusif [[ $? -eq 1 ]]; then

echo "Nginx server already stopped."return1

fi

echo -n $"Stoping $NGINX_NAME:"killproc $NGINX_PROG

retval=$?

echo[ $retval-eq 0 ] && rm -f $NGINX_LOCK_FILE

return $retval

}

restart() {

stopsleep 1start

retval=$?return $retval

}

reload() {echo -n $"Reloading $NGINX_NAME:"killproc $NGINX_PROG-HUP

retval=$?

echoreturn $retval

}

status() {

netstat-anpt | grep "/nginx" | awk '{print $6}' &> /dev/null

if [[ $? -eq 0 ]]; then

if [[ -f $NGINX_LOCK_FILE ]]; thenreturn0

elsereturn1

fi

fireturn1}

_status() {

statusif [[ $? -eq 0 ]]; thenstate=`netstat -anpt | grep "/nginx" | awk '{ print $6 }'`echo $"Nginx server status is: $state"

else

echo "Nginx server is not running"

fi}

test() {

$NGINX_PROG-t -c $NGINX_CONF_FILE

retval=$?return $retval

}case "$1" instart)

start

;;

stop)

stop

;;

reload)

reload

;;

restart)

restart

;;

status)

_status

;;

test)

test

;;*)echo "Usage: { start | stop | reload | restart | status | test }"exit1

esac

3、将脚本添加到系统服务并设置开机启动

# chkconfig --add nginx

# chkconfig--level 3 nginx on

4、测试脚本是否能够执行

运行命令: service nginx start 或 /etc/init.d/nginx start

更多Nginx负载均衡配置相关教程见以下内容:

Nginx 的详细介绍:请点这里

Nginx 的下载地址:请点这里

0b1331709591d260c1c78e86d0c51c18.png

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值