前提: 我很笨,脑子不好使,如果脑子好使或者指法灵活的,可以忽略了 哈哈
nginx是什么我就不用说了吧,相关配置在之前的nginx配置文件总体结构以及详细说明-沙漠渔溏 里也有相应说明,
该文章主要为方便本地调试使用,本地调试nginx的时候,经常忘记nginx咋启动、重启、关闭、重载配置、检查配置等命令是怎么用,所以就整理了个脚本,方便本地调试使用,当然服务器我是用的宝塔,也都是可视化操作,所以不常记命令行操作。
实现功能
通过控制台输入对应的数字,完成相应操作,不用再记忆那些具体指令了。
效果如下:
脚本实现
@echo off
rem 提供Windows下nginx的启动,重启,关闭功能
echo ==================begin========================
cls
::ngxin 所在的盘符
set NGINX_PATH=%~d0
::nginx 所在目录
set NGINX_DIR=%~dp0
color 0a
TITLE Nginx 管理程序
CLS
:MENU
echo.***** Nginx 当前状态 ******
if ERRORLEVEL 1 (
echo nginx未在运行
) else (
echo nginx在运行
)
echo.
echo.***** Nginx 进程明细 ******
::tasklist|findstr /i "nginx.exe"
tasklist /fi "imagename eq nginx.exe"
echo.
::*************************************************************************************************************
echo.***** Nginx 菜单列表 ******
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
使用方式
复制上面代码块内容到txt中,修改为bat文件,放在nginx.exe相同目录下,使用的时候直接双击即可。
附上相关的命令行,自行选择使用哪种方式吧
启动 start nginx
快速停止 nginx -s stop
正常停止 nginx -s quit
重启服务: service nginx restart
配置文件修改重装载命令:nginx -s reload
评论区