众所周知,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