编程技术分享平台

网站首页 > 技术教程 正文

运维篇—Nginx的快速启动停止Shell脚本

xnh888 2024-09-22 16:56:53 技术教程 24 ℃ 0 评论

通常我们在编译安装的nginx由于没有提供nginx服务的管理脚本,在启动、停止以及重启nginx时非常不方便。只能通过安装的sbin目录下执行 nginx, nginx -s stop/reload。所以自己写了一个shell脚本来操作,也是在公司生产环境中使用。(centos系统)。

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

cd /etc/init.d/

chmod +x nginx

2.修改脚本中安装目录

3.常用使用命令

service nginx start 启动nginx

service nginx stop 停止nginx

service nginx restart 重启nginx

service nginx relaod 平滑重启nginx

4.脚本代码

#! /bin/bash

# nginx - this script starts and stops the nginx daemon

# chkconfig: - 85 15

# description: nginx shell

# processname: nginx

# config: /etc/nginx/nginx.conf

# pidfile: /var/run/nginx/nginx.pid

# Source function library.

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

# Source networking configuration.

. /etc/sysconfig/network

# Check that networking is up.

[ "$NETWORKING" = "no" ] && exit 0

nginx="/usr/local/nginx/sbin/nginx"

prog=$(basename $nginx)

NGINX_CONF_FILE="/usr/local/nginx/conf/nginx.conf"

[ -f /etc/sysconfig/nginx ] && . /etc/sysconfig/nginx

lockfile=/data/nginx/logs/nginx.lock

start() {

[ -x $nginx ] || exit 5

[ -f $NGINX_CONF_FILE ] || exit 6

echo -n $"Starting $prog: "

daemon $nginx -c $NGINX_CONF_FILE

retval=$?

echo

[ $retval -eq 0 ] && touch $lockfile

return $retval

}

stop() {

echo -n $"Stopping $prog: "

killproc $prog -QUIT

retval=$?

echo

[ $retval -eq 0 ] && rm -f $lockfile

return $retval

}

restart() {

configtest || return $?

stop

sleep 1

start

}

reload() {

configtest || return $?

echo -n $"Reloading $prog: "

killproc $nginx -HUP

RETVAL=$?

echo

}

force_reload() {

restart

}

configtest() {

$nginx -t -c $NGINX_CONF_FILE

}

rh_status() {

status $prog

}

rh_status_q() {

rh_status >/dev/null 2>&1

}

case "$1" in

start)

rh_status_q && exit 0

$1

;;

stop)

rh_status_q || exit 0

$1

;;

restart|configtest)

$1

;;

reload)

rh_status_q || exit 7

$1

;;

force-reload)

force_reload

;;

status)

rh_status

;;

condrestart|try-restart)

rh_status_q || exit 0

;;

*)

echo $"Usage: $0 {start|stop|status|restart|condrestart|try-restart|reload|force-reload|configtest}"

exit 2

esac

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表