
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
解释
- @echo off:此命令分 @ 和 echo off 看。@让跟在其后面的命令的执行过程不打印出来,echo off 则让所有命令的执行过程不打印出来(自己测试,看结果就明白)。
- goto 与 :: 两个命令配套使用,: 相当于标签,goto 则指定跳到那个标签后面执行。
- echo:向命令窗口打印一行指定的字符创,echo= 打印空的字符串,结果相当于换行。
- 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 教程】 |
| 1 | Openlayers 【入门教程】 - 【源代码+示例 300+】 |
| 2 | Leaflet 【入门教程】 - 【源代码+图文示例 150+】 |
| 3 | MapboxGL【入门教程】 - 【源代码+图文示例150+】 |
| 4 | Cesium 【入门教程】 - 【源代码+综合教程 200+】 |
| 5 | threejs【中文API】 - 【源代码+图文示例200+】 |
| 6 | Shader 编程 【图文示例 100+】 |
| 7 | Geoserver 【配置教程 100+】 |
| 8 | 卫星应用开发教程 【配置+应用教程 100+】 |
| 9 | GIS数字孪生与大模型 【应用实战 100+】 |
| 10 | 报表与数字大屏 【Echarts 实战示例】 - 【D3 综合教程】 - 【其他大屏】 |
文章介绍了如何在Windows环境下解决Nginx命令行工具无法正常使用的问题,包括创建自定义的donginx.bat批处理脚本来替代原生命令,将其放在Nginx可执行文件同一目录下,并更新系统环境变量PATH,使得在任何命令行窗口中都能执行自定义命令。
2075

被折叠的 条评论
为什么被折叠?



