先看截图:
Windows批处理脚本,用于管理Nginx服务器。它提供了启动、重启、关闭Nginx以及刷新控制台等功能。
设置环境变量:
set NGINX_PATH=D::设置Nginx所在的盘符为D盘。set NGINX_DIR=D:\nginx1912\:设置Nginx所在的目录为D:\nginx1912\。显示菜单选项:打印出Nginx进程列表,并检查是否存在nginx.exe进程。显示菜单选项,包括启动Nginx、关闭Nginx、重启Nginx、刷新控制台、重新加载Nginx配置文件、检查测试Nginx配置文件、查看Nginx版本和退出程序。根据用户输入的序号执行相应的操作:如果输入的是1,则调用:startNginx函数来启动Nginx。如果输入的是2,则调用:shutdownNginx函数来关闭Nginx。如果输入的是3,则先调用:shutdownNginx函数关闭Nginx,然后再调用:startNginx函数启动Nginx。如果输入的是4,则刷新控制台。如果输入的是5,则先调用:checkConfNginx函数检查Nginx配置文件,然后调用:reloadConfNginx函数重新加载Nginx配置文件。如果输入的是6,则调用:checkConfNginx函数检查测试Nginx配置文件。如果输入的是7,则调用:showVersionNginx函数显示Nginx的版本信息。如果输入的是0,则退出程序。
一下是完整脚本,复制保存为bat文件 即可运行
@echo off
rem 提供Windows下nginx的启动,重启,关闭功能echo ==================begin========================cls
::ngxin 所在的盘符
set NGINX_PATH=D:::nginx 所在目录
set NGINX_DIR=D:\nginx1912\
color 0a
TITLE Nginx 管理程序增强版CLS echo.
echo. ** Nginx 管理程序 ***
echo. *** create 2019-11-29 ***
echo. :MENU echo. ***** nginx 进程list ******
::tasklist|findstr /i "nginx.exe"
tasklist /fi "imagename eq nginx.exe"echo. if ERRORLEVEL 1 (echo nginx.exe不存在) else (echo nginx.exe存在)echo.
::*************************************************************************************************************
echo. echo. [1] 启动Nginx echo. [2] 关闭Nginx echo. [3] 重启Nginx echo. [4] 刷新控制台 echo. [5] 重新加载Nginx配置文件echo. [6] 检查测试nginx配置文件echo. [7] 查看nginx versionecho. [0] 退 出
echo. echo.请输入选择的序号:
set /p ID=IF "%id%"=="1" GOTO start IF "%id%"=="2" GOTO stop IF "%id%"=="3" GOTO restart IF "%id%"=="4" GOTO MENUIF "%id%"=="5" GOTO reloadConf IF "%id%"=="6" GOTO checkConf IF "%id%"=="7" GOTO showVersion IF "%id%"=="0" EXIT
PAUSE ::*************************************************************************************************************
::启动
:start call :startNginxGOTO MENU::停止
:stop call :shutdownNginxGOTO MENU::重启
:restart call :shutdownNginxcall :startNginxGOTO MENU::检查测试配置文件
:checkConf call :checkConfNginxGOTO MENU::重新加载Nginx配置文件
:reloadConf call :checkConfNginxcall :reloadConfNginxGOTO MENU::显示nginx版本
:showVersion call :showVersionNginxGOTO MENU ::*************************************************************************************
::底层
::*************************************************************************************
:shutdownNginxecho. echo.关闭Nginx...... taskkill /F /IM nginx.exe > nulecho.OK,关闭所有nginx 进程goto :eof:startNginxecho. echo.启动Nginx...... IF NOT EXIST "%NGINX_DIR%nginx.exe" (echo "%NGINX_DIR%nginx.exe"不存在goto :eof)%NGINX_PATH% cd "%NGINX_DIR%" IF EXIST "%NGINX_DIR%nginx.exe" (echo "start '' nginx.exe"start "" nginx.exe)echo.OKgoto :eof:checkConfNginxecho. echo.检查测试 nginx 配置文件...... IF NOT EXIST "%NGINX_DIR%nginx.exe" (echo "%NGINX_DIR%nginx.exe"不存在goto :eof)%NGINX_PATH% cd "%NGINX_DIR%" nginx -t -c conf/nginx.confgoto :eof::重新加载 nginx 配置文件
:reloadConfNginxecho. echo.重新加载 nginx 配置文件...... IF NOT EXIST "%NGINX_DIR%nginx.exe" (echo "%NGINX_DIR%nginx.exe"不存在goto :eof)%NGINX_PATH% cd "%NGINX_DIR%" nginx -s reloadgoto :eof::显示nginx版本
:showVersionNginxecho. %NGINX_PATH% cd "%NGINX_DIR%" nginx -Vgoto :eof