Windows下Nginx启动停止重启管理程序

在桌面上新建文本文件,然后将下面的批处理脚本复制,最后重命名后缀改为 .bat 或 .cmd

@echo off
@REM  提供Windows下nginx的启动,重启,关闭功能
chcp 65001
::ngxin 所在的盘符
set NGINX_PATH=D:
::nginx 所在目录
set NGINX_DIR=D:\MyWorks\IdeaProgramFiles\LjdProgramFiles\IfmsWorks\program-deploy\windows\myHome\softs\nginx-1.20.2
color 0a
TITLE nginx-管理程序
echo.
echo. ********************* nginx-管理程序  *********************
echo. ********************* 当前时间:%date% *********************
echo.

:optMenu
cls
echo.
echo. ********************* nginx 进程列表 *********************
setlocal enabledelayedexpansion
for /f "tokens=1" %%i in ('tasklist ^| findstr /i "nginx.exe"') do (
    set list=!list! %%i
)
if "%list%" == "" (
    echo.nginx-程序未启动
    echo.%list%
) else (
    echo.nginx-程序进程信息列表
    tasklist /fi "imagename eq nginx.exe"
)
echo.
echo.*****************************************************************
echo.*****************************************************************
echo.
    echo. [1] 启动
    echo. [2] 停止
    echo. [3] 重启
    echo. [4] 刷新控制台
    echo. [5] 重新配置文件
    echo. [6] 检测配置文件
    echo. [7] 查看版本
    echo. [0] 退出
echo.
echo.*****************************************************************
echo.
echo 请输入选择操作的序号:
set /p ID=
	IF "%id%"=="1" GOTO:start
	IF "%id%"=="2" GOTO:stop
	IF "%id%"=="3" GOTO:restart
	IF "%id%"=="4" GOTO:optMenu
	IF "%id%"=="5" GOTO:reloadConf
	IF "%id%"=="6" GOTO:checkConf
	IF "%id%"=="7" GOTO:showVersion
	IF "%id%"=="0" EXIT
PAUSE

::*************************************************************************************************************
:start - run 启动
call:startNginx
GOTO:optMenu

:stop - 停止
call:shutdownNginx
GOTO:optMenu

:restart - 重启
call:startNginx
call:shutdownNginx
GOTO:optMenu

:checkConf - 检查测试配置文件
call:checkConfNginx
GOTO:optMenu

:reloadConf - 重新加载Nginx配置文件
call:checkConfNginx
call:reloadConfNginx
GOTO:optMenu

:showVersion - 显示nginx版本
call:showVersionNginx
GOTO:optMenu


@REM **********************************************************************************************
:startNginx - 启动 nginx
echo.
IF NOT EXIST "%NGINX_DIR%\nginx.exe" (
    echo "%NGINX_DIR%\nginx.exe"不存在
    goto :eof
 ) else (
 echo.启动 nginx......
 %NGINX_PATH%
 cd "%NGINX_DIR%"

 IF EXIST "%NGINX_DIR%\nginx.exe" (
     echo "start '' nginx.exe"
     start "" nginx.exe
 )
 echo.启动 OK!
 )
goto :eof
@REM **********************************************************************************************
@REM **********************************************************************************************
:shutdownNginx - 停止 nginx
echo.
echo.关闭 nginx......
taskkill /F /IM nginx.exe > nul
echo.OK,关闭所有nginx 进程
goto :eof

:checkConfNginx - 检查测试 nginx 配置文件
echo.
echo.检查测试 nginx 配置文件......
IF NOT EXIST "%NGINX_DIR%\nginx.exe" (
    echo "%NGINX_DIR%\nginx.exe"不存在
    goto :eof
) else (
    %NGINX_PATH%
    cd "%NGINX_DIR%"
    nginx -t -c conf/nginx.conf
)
goto :eof
@REM **********************************************************************************************
@REM **********************************************************************************************
:reloadConfNginx - 重新加载 nginx 配置文件
echo.
echo.重新加载 nginx 配置文件......
IF NOT EXIST "%NGINX_DIR%nginx.exe" (
    echo "%NGINX_DIR%nginx.exe"不存在
    goto :eof
) else (
 %NGINX_PATH%
 cd "%NGINX_DIR%"
 nginx -s reload
)
goto :eof
@REM **********************************************************************************************
@REM **********************************************************************************************
:showVersionNginx - 显示nginx版本
echo.
%NGINX_PATH%
cd "%NGINX_DIR%"
nginx -V
goto :eof
@REM **********************************************************************************************

你可能感兴趣的:(nginx,windows,batch)