nginx服务启动程序的Shell脚本怎么写

nginx服务启动程序的Shell脚本怎么写

这篇文章主要介绍“nginx服务启动程序的Shell脚本怎么写”,在日常操作中,相信很多人在nginx服务启动程序的Shell脚本怎么写问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”nginx服务启动程序的Shell脚本怎么写”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

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

nginx服务启动程序的Shell脚本怎么写

选项有:

start启动stop停止reload重载restart重启status状态test检查配置文件

脚本一

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

touch/etc/init.d/nginxchmod+x/etc/init.d/nginx

编写脚本内容

#!/bin/bash#chkconfig:-8515#description:Nginxservercontrolscript#processname:nginx#configfile:/usr/local/nginx/conf/nginx.conf#pidfile:/usr/local/nginx/logs/nginx.pid##eastmoneypublictools#version:v1.0.0#createbyXuHoo,2016-9-14##sourcefunctionlibrary./etc/rc.d/init.d/functionsNGINX_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"#checkcurrentuser["$USER"!="root"]&&exit1start(){statusif[[$?-eq0]];thenecho$"Nginx(PID$(cat$NGINX_PID_FILE))alreadystarted."return1fiecho-n$"Starting$NGINX_NAME:"daemon$NGINX_PROG-c$NGINX_CONF_FILEretval=$?echo[$retval-eq0]&&touch$NGINX_LOCK_FILEreturn$retval}stop(){statusif[[$?-eq1]];thenecho"Nginxserveralreadystopped."return1fiecho-n$"Stoping$NGINX_NAME:"killproc$NGINX_PROGretval=$?echo[$retval-eq0]&&rm-f$NGINX_LOCK_FILEreturn$retval}restart(){stopsleep1startretval=$?return$retval}reload(){echo-n$"Reloading$NGINX_NAME:"killproc$NGINX_PROG-HUPretval=$?echoreturn$retval}status(){netstat-anpt|grep"/nginx"|awk'{print$6}'&>/dev/nullif[[$?-eq0]];thenif[[-f$NGINX_LOCK_FILE]];thenreturn0elsereturn1fifireturn1}_status(){statusif[[$?-eq0]];thenstate=`netstat-anpt|grep"/nginx"|awk'{print$6}'`echo$"Nginxserverstatusis:$state"elseecho"Nginxserverisnotrunning"fi}test(){$NGINX_PROG-t-c$NGINX_CONF_FILEretval=$?return$retval}case"$1"instart)start;;stop)stop;;reload)reload;;restart)restart;;status)_status;;test)test;;*)echo"Usage:{start|stop|reload|restart|status|test}"exit1esac

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

chkconfig--addnginxchkconfig--level3nginxon

脚本二

[root@localhost~]#cd/usr/local/nginx/conf/[root@localhostconf]#lsfastcgi.conffastcgi_paramskoi-utfmime.typesnginx.confscgi_paramsuwsgi_paramswin-utffastcgi.conf.defaultfastcgi_params.defaultkoi-winmime.types.defaultnginx.conf.defaultscgi_params.defaultuwsgi_params.default

备份主配置文件

[root@localhostconf]#cpnginx.confnginx.conf.origin[root@localhostconf]#vimnginx.conf去除#pidlogs/nginx.pid;前面#号[root@localhostconf]#netstat-anpt|grep80tcp000.0.0.0:800.0.0.0:*LISTEN19108/nginx[root@localhostconf]#kill-319108[root@localhostconf]#netstat-anpt|grep80[root@localhostconf]#nginx[root@localhostconf]#netstat-anpt|grep80tcp000.0.0.0:800.0.0.0:*LISTEN19864/nginx[root@localhostconf]#cd../logs/[root@localhostlogs]#lsaccess.logerror.lognginx.pid[root@localhostlogs]#catnginx.pid19864

编辑写服务脚本

[root@localhost~]#vim/etc/init.d/nginx可以使用的选项有:start启动stop停止reload重载restart重启status状态test检查配置文件#!/bin/bash#chkconfig:23459920#description:NginxServerControlScriptsshellPROG="/usr/local/nginx/sbin/nginx"PIDF="/usr/local/nginx/logs/nginx.pid"case"$1"instart)if[-f$PIDF];thenecho"Nginx正在运行…"else$PROGfi;;stop)if[-f$PIDF];thenkill-3$(cat$PIDF)rm-f$PIDFelseecho"Nginx正在停止…"fi;;restart)$0stop$0start;;reload)if[-f$PIDF];thenkill-1$(cat$PIDF)elseecho"Nginx正在停止…重新加载"fi;;status)if[-f$PIDF];thenecho"Nginx正在运行"elseecho"Nginx停止"fi;;*)echo"Usage:$0(start|stop|restart|reload|status)"exit1esacexit0

脚本文件并添加执行权限

[root@localhost~]#chmod+x/etc/init.d/nginx将脚本添加到系统服务并设置开机启动[root@localhost~]#chkconfig--addnginx添加为服务启动项[root@localhost~]#chkconfig--listnginxnginx0:关闭1:关闭2:启用3:启用4:启用5:启用6:关闭[root@localhost~]#chkconfig--level3nginxon测试脚本是否能够执行[root@localhost~]#servicenginxstartNginx正在运行…[root@localhost~]#servicenginxrestart[root@localhost~]#servicenginxstop[root@localhost~]#servicenginxstopNginx正在停止…[root@localhost~]#servicenginxstart[root@localhost~]#servicenginxstatusNginx正在运行

到此,关于“nginx服务启动程序的Shell脚本怎么写”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注恰卡编程网网站,小编会继续努力为大家带来更多实用的文章!

发布于 2022-02-16 23:46:51
收藏
分享
海报
0 条评论
51
上一篇:怎么使用Nginx搭建WCF集群 下一篇:Nginx性能优化的方法
目录

    0 条评论

    本站已关闭游客评论,请登录或者注册后再评论吧~

    忘记密码?

    图形验证码