前端之家收集整理的这篇文章主要介绍了
用shell编写nginx脚本的启动,关闭,重加载,
前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
- #!/bin/bash----默认执行shell方式
- #chkconfig:23451080----加入到开机执行的方式
- path="/usr/local/Nginx/sbin/Nginx"----源代码安装Nginx之后的启动路径
- name="Nginxd"
- test=0
- log=/tmp/Nginxd.log----Nginx的日志
- DATE=`date"+%F%H:%M:%S"`----获得系统时间命令
-
-
-
- #判断Nginx是否已经安装或者判断源码安装之后启动的路径是否存在。
- if[!-x$path];then
- echo-n"${path}notinstalled!"
- exit10
- fi
-
- #启动选项,对执行Nginx进行启动,启动成功或者失败都会输出提醒。
- start(){
- echo-n"starting$name;"
- $path-t
- test=$?
- if[$test-eq0];then
- touch/tmp/Nginx.pid
- $path
- echo"$DATEand$pathisstarting">>$log
- else
- echo"pleasecheckyouconfig"
- exit20
- fi
- }
-
-
- #停止Nginx服务,并把输出的信息重定向到指定的日志文件。
- stop(){
- echo-n"stopping$name;"
- ps-ef|grepNginx|awk'{print$2}'|xargskill-9
- test=0
- if[$test-eq0];then
- rm-rf/tmp/Nginx.pid
- echo"$DATEand$pathisstop">>$log
- fi
- }
-
-
- #重加载选项,将服务重新加载并识别服务是否正常运行。
- reload(){
- echo-n"reloading$name;"
- # ps-ef|grepNginx|awk'{print$2}'|xargskill-9
- $path-t
- test=$?
- if[$test-eq0];then
- touch/tmp/reload.pid
- echo"$DATEand$pathisreloading">>$log
- rm-rf/tmp/reload.pid
- else
- echo"pleasecheckyouconfig"
- exit20
- fi
- }
-
-
- #整个脚本使用case方式来进行调用,当执行该脚本时会输出相关信息提醒。
- case"$1"in
- start)start;;
- stop)stop;;
- reload)reload;;
- *)echo"/usr/local/Nginx/sbin/Nginxstart|stop|reload!";;
- esac
-
-
-
-
- ######---退出shell之后,执行以下操作---######
-
- 1.对文件加权限
- chmod+xNginxd
-
- 2.对文件执行
- bashNginxd[start|stop|reload]