无法开启nginx -t等命令的解决办法

文章介绍了如何在Windows环境下解决Nginx命令行工具无法正常使用的问题,包括创建自定义的donginx.bat批处理脚本来替代原生命令,将其放在Nginx可执行文件同一目录下,并更新系统环境变量PATH,使得在任何命令行窗口中都能执行自定义命令。

在这里插入图片描述

查看专栏目录

Network 灰鸽宝典专栏主要关注服务器的配置,前后端开发环境的配置,编辑器的配置,网络服务的配置,网络命令的应用与配置,windows常见问题的解决等。

在 Windows 下载安装了 Nginx,配置了环境变量全局使用 Nginx。但是仍旧无法开启nginx -t等命令。

在这里插入图片描述

原因:

Nginx 在使用时 conf-path 是根据相对路径来找的。 匹配的路径是 C:\Users\20210121/conf/nginx.conf ,完全是错的。

解决办法:

制作一个donginx.bat(命令根据名字而改变,比如这里命令开头用donginx, 如果bat名字为 aaa.bat, 则命令开头为 aaa )文件,将nginx改天换命。

1)donginx.bat 代码

@echo off 
if "%1"=="help" (goto help) else (if "%1"=="-h" goto help) 
if "%1"=="version" (goto version) else (if "%1"=="-v" goto version) 
if "%1"=="start" goto start 
if "%1"=="stop" goto stop 
if "%1"=="reload" goto reloadmd 
if "%1"=="reopen" goto reopen 
if "%1"=="find" goto find 
goto error 
 
:help 
nginx -v 
echo Usage: donginx [-h,help] [-v,version] [start] [stop] [stop -a] [reload] [reopen] [find] 
echoecho= 
echo Options: 
echo   help,-h         : this help 
echo   version,-v      : show current nginx version 
echo   start           : start nginx master process 
echo   stop            : stop the newest nginx master process 
echo   stop -a         : stop all nginx master processes 
echo   reload          : reload configuration 
echo   reopen          : reopen nginx 
echo   find            : show the nginx master process list 
echo= 
exit /B 
 
:version 
nginx -v 
exit /B 
 
:start 
start nginx -p C:\nginx-1.20.1 
exit /B 
 
:stop 
if "%2"=="-a" (taskkill /F /IM nginx.exe) else (if "%2"=="" (nginx -s stop -p C:\nginx-1.20.1) else goto error) 
exit /B 
 
:reload 
nginx -s reload -p C:\nginx-1.20.1 
exit /B 
 
:find 
tasklist /fi "imagename eq nginx.exe" 
exit /B 
 
:error 
echo donginx: invalid option: "%1 %2" 
echo=    
exit /B 

解释

  1. @echo off:此命令分 @ 和 echo off 看。@让跟在其后面的命令的执行过程不打印出来,echo off 则让所有命令的执行过程不打印出来(自己测试,看结果就明白)。
  2. goto 与 :: 两个命令配套使用,: 相当于标签,goto 则指定跳到那个标签后面执行。
  3. echo:向命令窗口打印一行指定的字符创,echo= 打印空的字符串,结果相当于换行。
  4. exit: 该命令是退出程序,并且会关闭命令窗口(这不是我想要的)。指定 /B 则退出程序后不会关闭命窗口。/B 是说退回前一个命令所在窗口。

2)将donginx.bat放到nginx.exe的同级目录下

3)在环境变量中 系统变量>path>新建>C:\nginx-1.20.1

在这里插入图片描述

4)任何cmd或者powershell窗口都可以执行 donginx +命令

在这里插入图片描述

命令:

donginx help,-h : this help
donginx version,-v : show current nginx version
donginx start : start nginx master process
donginx stop : stop the newest nginx master process
donginx stop -a : stop all nginx master processes
donginx reload : reload configuration
donginx reopen : reopen nginx
donginx find : show the nginx master process list

在这里插入图片描述

No.大剑师精品GIS教程推荐
0地图渲染基础- 【WebGL 教程】 - 【Canvas 教程】 - 【SVG 教程】
1Openlayers 【入门教程】 - 【源代码+示例 300+】
2Leaflet 【入门教程】 - 【源代码+图文示例 150+】
3MapboxGL【入门教程】 - 【源代码+图文示例150+】
4Cesium 【入门教程】 - 【源代码+综合教程 200+】
5threejs【中文API】 - 【源代码+图文示例200+】
6Shader 编程 【图文示例 100+】
7Geoserver 【配置教程 100+】
8卫星应用开发教程 【配置+应用教程 100+】
9GIS数字孪生与大模型 【应用实战 100+】
10报表与数字大屏 【Echarts 实战示例】 - 【D3 综合教程】 - 【其他大屏】
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

还是大剑师兰特

打赏一杯可口可乐

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值