windows版nginx快速操控神器(重启,关闭)

众所周知,Windows 版本的Nginx 是linux版本的阉割版,但是在开发或者个人测试的时候,还是非常好用的,但是nginx运行的命令自己敲打起来不是那么的方便,因此呢,我们就写了个Bat批处理小程序,封装了这些命令,2.1版本您只需要配置下 NGINX_HOME 环境变量,指向nginx目录即可

然后,下载附件,解压 双击 feilong-nginx-manager v2.1.bat打开

操作特点

  • 1、支持文件夹路径带空格,  

  • 2、支持显示运行中的nginx进程  

  • 3、精简了代码  

  • 4、新增 [5] 重新加载Nginx配置文件(修改了nginx配置文件,只需要reload下,不需要重启nginx)  

  • 5、新增 [6] 检查测试nginx配置文件  

  • 6、新增 [7] 查看nginx version  

Release log:

V2.1  2015-04-29

1.只需要配置环境变量 NGINX_HOME ,程序会自动解析 NGINX_PATH ,不需要修改配置NGINX_PATH 值  

2.大幅度精简代码  

   

V2.0 2013-12-15

1.新增 [5] 重新加载Nginx配置文件 (修改了nginx配置文件, 只需要 reload 下, 不需要重启nginx)  

2.新增 [6] 检查测试nginx配置文件  

3.新增 [7] 查看nginx version  

   

V1.0 2013-03-13

1.支持文件夹路径带空格,  

2.显示nginx现在的进程,  

3.精简了代码  

2.1版本源码

配置上面图中的环境变量即可

@echo off
rem 提供Windows下nginx的启动,重启,关闭功能
::只需要在环境变量里面 配置  NGINX_HOME 参数
::比如 userEnvironment("NGINX_HOME")         ="%_FeilongSoft%\Essential\Development\nginx-1.9.0"

CLS 

color 0a 
TITLE Windows版Nginx管理神器 Update by 鑫哥 V2.1

CLS 

echo. 
echo. ** Nginx 管理程序 Power By Ants (http://leleroyn.cnblogs.com)  *** 
echo. *** update by 鑫哥*** 
echo. *** version 2.1 2015-4-29 10:17*** 
echo. 

::ngxin 所在的盘符
set NGINX_PATH=%NGINX_HOME:~0,2%

::**********************************
:MENU 

echo. ***** nginx 进程list ****** 
::tasklist|findstr /i "nginx.exe"
tasklist /fi "imagename eq nginx.exe"

IF NOT EXIST "%NGINX_HOME%\nginx.exe" (
    echo "%NGINX_HOME%\nginx.exe"不存在
    pause
    goto :eof
)

%NGINX_PATH% 
cd "%NGINX_HOME%\" 

::************************************
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"
    taskkill /F /IM nginx.exe > nul
    echo.OK,关闭所有nginx 进程
    goto :eof

:startNginx
    echo. 
    echo.启动Nginx...... 

    echo "start '' nginx.exe"
    start "" nginx.exe

    echo.OK
    goto :eof
 
:checkConfNginx
    echo. 
    echo.检查测试 nginx 配置文件...... 
    
    echo "nginx -t -c conf/nginx.conf"
    nginx -t -c conf/nginx.conf
    
    goto :eof
    
::重新加载 nginx 配置文件
:reloadConfNginx
    echo. 
    echo.重新加载 nginx 配置文件...... 
    
    echo "nginx -s reload"
    nginx -s reload
 
    goto :eof
    
::显示nginx版本
:showVersionNginx
    echo. 
    nginx -V
    goto :eof

2.0版本源码

需要收到配置以下两个地方即可 

::ngxin 所在的盘符
set NGINX_PATH=D:

::nginx 所在目录
set NGINX_DIR=D:\website\nginx-1.11.3\
@echo off
rem 提供Windows下nginx的启动,重启,关闭功能

echo ==================begin========================

cls 

color 0a 
TITLE Nginx 管理程序 Power By Ants (http://leleroyn.cnblogs.com) Update by 鑫哥

CLS 

echo. 
echo. ** Nginx 管理程序 Power By Ants (http://leleroyn.cnblogs.com)  *** 
echo. *** update by 鑫哥 2013-12-14 *** 
echo. 

::*************************************************************************************************************
::ngxin 所在的盘符
set NGINX_PATH=D:

::nginx 所在目录
set NGINX_DIR=D:\website\nginx-1.11.3\

::*************************************************************************************************************
: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

原文总结参考以下原文

http://feitianbenyue.iteye.com/blog/1989868

http://feitianbenyue.iteye.com/blog/2207061

赞(52) 打赏
未经允许不得转载:优客志 » 系统运维
分享到:

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏