无法开启nginx -t等命令的解决办法-灵析社区

JACKY

在 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

结尾语

Network 灰鸽宝典为开发配置保驾护航,让服务运行快捷平稳。 希望某个知识点就能帮助你,欢迎学习GIS的朋友一起交流。
《 Openlayers 综合示例200+ 》,
《 leaflet示例教程100+ 》,
《 Cesium示例教程100+》,
《MapboxGL示例教程100+》。


阅读量:826

点赞量:0

收藏量:0