侧边栏壁纸
博主头像
沙漠渔

把過去的累積,善用到當下

  • 累计撰写 472 篇文章
  • 累计创建 285 个标签
  • 累计收到 946 条评论
标签搜索

目 录CONTENT

文章目录

Windows下Nginx相关命令的操作脚本

沙漠渔
2022-06-06 / 0 评论 / 0 点赞 / 5,581 阅读 / 3,582 字 / 正在检测是否收录...
温馨提示:
本文最后更新于 2023-01-28,若内容或图片失效,请留言反馈。部分素材来自网络,若不小心影响到您的利益,请联系我们删除。

前提: 我很笨,脑子不好使,如果脑子好使或者指法灵活的,可以忽略了 哈哈

nginx是什么我就不用说了吧,相关配置在之前的nginx配置文件总体结构以及详细说明-沙漠渔溏 里也有相应说明,
该文章主要为方便本地调试使用,本地调试nginx的时候,经常忘记nginx咋启动、重启、关闭、重载配置、检查配置等命令是怎么用,所以就整理了个脚本,方便本地调试使用,当然服务器我是用的宝塔,也都是可视化操作,所以不常记命令行操作。

实现功能

通过控制台输入对应的数字,完成相应操作,不用再记忆那些具体指令了。

效果如下:
QQ拼音截图20220606135413.png

脚本实现

@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

0
广告 广告

评论区