先看截图:
 
 
 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 version
    echo.  [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 MENU
    IF "%id%"=="5" GOTO reloadConf 
    IF "%id%"=="6" GOTO checkConf 
    IF "%id%"=="7" GOTO showVersion 
    IF "%id%"=="0" EXIT
PAUSE 
 
::*************************************************************************************************************
::启动
:start 
    call :startNginx
    GOTO MENU
 
::停止
:stop 
    call :shutdownNginx
    GOTO MENU
 
::重启
:restart 
    call :shutdownNginx
    call :startNginx
    GOTO MENU
 
::检查测试配置文件
:checkConf 
    call :checkConfNginx
    GOTO MENU
 
::重新加载Nginx配置文件
:reloadConf 
    call :checkConfNginx
    call :reloadConfNginx
    GOTO MENU
    
::显示nginx版本
:showVersion 
    call :showVersionNginx
    GOTO MENU   
    
    
::*************************************************************************************
::底层
::*************************************************************************************
:shutdownNginx
    echo. 
    echo.关闭Nginx...... 
    taskkill /F /IM nginx.exe > nul
    echo.OK,关闭所有nginx 进程
    goto :eof
 
:startNginx
    echo. 
    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.OK
    goto :eof
    
 
:checkConfNginx
    echo. 
    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.conf
 
    goto :eof
    
::重新加载 nginx 配置文件
:reloadConfNginx
    echo. 
    echo.重新加载 nginx 配置文件...... 
    IF NOT EXIST "%NGINX_DIR%nginx.exe" (
        echo "%NGINX_DIR%nginx.exe"不存在
        goto :eof
     )
 
    %NGINX_PATH% 
    cd "%NGINX_DIR%" 
    nginx -s reload
 
    goto :eof
    
::显示nginx版本
:showVersionNginx
    echo. 
    %NGINX_PATH% 
    cd "%NGINX_DIR%" 
    nginx -V
    goto :eof



















