Windows命令行在任意位置启动和退出nginx
写在前面
本文给出Windows系统中能在任意路径下通过命令行启动和退出nginx的方法。不想看过程的读者可以直接跳转到结论,一样能解决问题。
正文
过程
很多Windows下的nginx教程都教我们先cd到nginx安装目录(即nginx.exe所在目录),再执行 start nginx 和 nginx -s quit 来分别启动和退出nginx。但实测发现,在非安装目录下,执行这两条命令会失败,即使你已经为nginx.exe配置了环境变量。
本文中,nginx安装目录如下图所示:
注意,除非特别说明,否则后文中nginx的安装目录一律用 D:\software\nginx 表示。
非安装目录下使用 start nginx 启动nginx的结果如下图所示:
注意,正常(即nginx能启动)情况下,执行 start nginx 后会有一个窗口一闪而过,这是正常的。在非安装目录下,执行 start nginx 后也会有一个窗口一闪而过,但nginx根本没起来(有上图为证),只不过是窗口闪退,我们没办法看清报错信息罢了。
同样,非安装目录下使用 nginx -s -quit 退出nginx也会失败,好在这次直接报错了,如下图:
事实上,nginx内部使用相对路径而非绝对路径,因此,在非安装目录下执行可执行文件 nginx.exe 就会出现找不到安装路径下的文件的情况,上图中划红线部分也证实了这一点。
找到了原因,就可以对症下药了。我们可以使用 - p 参数(使用 nginx -h 可以查看所有参数及含义)为nginx显式指出文件路径。具体地,启动时使用 start nginx "-p D:/software/nginx" ,停止时使用 nginx -p D:/software/nginx -s quit 。
注意:
- 推荐使用Windows PowerShell而非cmd。亲测,cmd下启动、退出nginx后,再次启动,会失败,目前还未搞清原因(这里恳请了解原因的读者不吝赐教),但Windows PowerShell下不会出现该问题。
- 启动命令中, -p D:/software/nginx 必须用英文双引号括起来。
- Windows PowerShell下可直接使用 D:/software/nginx ,当然, D:\\software\\nginx 或 D:\software\nginx 也可以。
结论
第一步:将nginx.exe所在目录加入环境变量的Path中,不会操作的读者请自行学习。
第二步:在任意目录下,按如下方式启动或退出nginx:
启动使用
start nginx "-p xxx"
退出使用
nginx -p xxx -s quit
注意:
- xxx 表示 nginx.exe 所在的绝对路径。
- 启动命令中记得加英文双引号。
- 推荐使用 Windows PowerShell 而非 cmd 。
写在后面
在下刚接触nginx,文中错误疏漏之处在所难免,欢迎广大读者批评指正,您的批评是在下前进的不竭动力。
Windows命令行在任意位置启动和退出nginx的更多相关文章
- 从Windows命令行启动MySQL
SERVER: 从Windows命令行启动MySQL 可以从命令行手动启动MySQL服务器.可以在任何版本的Windows中实现. 要想从命令行启动mysqld服务器,你应当启动控制台窗口(或“DOS ...
- 无法从命令行或调试器启动服务,必须首先安装Windows服务(使用installutil.exe),然后用ServerExplorer、Windows服务器管理工具或NET START命令启动它
无法从命令行或调试器启动服务,必须首先安装Windows服务(使用installutil.exe),然后用ServerExplorer.Windows服务器管理工具或NET START命令启动它 1. ...
- windows命令行快速启动软件
windows桌面上太多的应用程序快捷方式很影响美观,于是寻思使用类似Linux系统中命令行的方式来启动软件. 只需要3步: 1.建立一个目录A,用来存放快捷方式.比如,建立D:\path.并复制快捷 ...
- Oracle学习.Windows 命令行 启动ORACLE服务与实例
使用数据库前要先打开数据库的实例和监听器! --总结启动命令如下: lsnrctl [start|stop|status] --启动监听器,停止监听器,查看监听器的 ...
- 探索Windows命令行系列(2):命令行工具入门
1.理论基础 1.1.命令行的前世今生 1.2.命令执行规则 1.3.使用命令历史 2.使用入门 2.1.启动和关闭命令行 2.2.执行简单的命令 2.3.命令行执行程序使用技巧 3.总结 1.理论基 ...
- 探索Windows命令行系列(5):几个实用的命令例解
1.关机命令(shutdown) 2.管理 Windows 服务(sc) 3.管理任务进程(tasklist.taskkill) 4.显示 TCP/IP 配置值(ipconfig) 5.网络诊断工具( ...
- 探索Windows命令行系列(6):活用批处理解决实际问题
1.批量修改文件名 2.批量重启服务 3.全盘搜索指定文件 3.1.全盘搜索名称为 mm.jpg 的文件,获取其全路径 3.2.查找系统中所有名称以 .docx 结尾的文件 4.调用可执行程序 4.1 ...
- Windows命令行参数的知识(一)
最近没事的时候,准备研究一下Windows命令行参数的知识,因为每次自己在操作电脑时总是效率太慢,如果能够了解Windows参数的一些知识,绝对能提高效率! 基本外部命令和内部命令 首先是基本的知识, ...
- Windows命令行(DOS命令)教程
一.命令行简介 命令行就是在Windows操作系统中打开DOS窗口,以字符串的形式执行Windows管理程序. 在这里,先解释什么是DOS? DOS——Disk Operation System 磁盘 ...
随机推荐
- noip 模拟 7
我花了我多久的rp啊-- 考试经过 这次是三道题,依旧先看一遍,然后从头开始做 T1一看,这好像是KMP?等等,我好像忘了啊你个废,没事哈希也能做,On似乎可以呀,一波操作,我是不是要A题了? 转到T ...
- yum clean all大坑解决
在Centos7系统中执行yum clean all 之后,发现yum的其他执行都报错了: 要解决,关键在这里: 把/var/cache/yum/ 下面的文件删除了 接下来,如果执行yum repol ...
- "image watch" for QtCreator
Image Watch Image Watch 是Visual Studio的一个插件,用来在C++ 调试时显示内存中的位图图像.可以直观的看到图像的变化而不用添加额外的显示代码.其内建了对OpenC ...
- FastReport.net 绿色破解版winform中使用
FastReport 是非常有名的报表库,曾经在delphi中经常看到 现在FastReport.net 是.net平台下的实现.它的价格对于个人开发者来说确实非常非常贵 出于学习的目的(0<& ...
- 网页前端video播放m3u8(HLS)
网页前端video播放m3u8(HLS) HLS (HTTP Live Streaming)是Apple公司研发的流媒体传输技术,包括一个m3u8的索引文件.多个ts分片文件和key加密串文件.这项技 ...
- struts2思想学习(一)
OOP 面向对象编程 AOP 面向切面编程 而在struts2 处处体现了面向切面编程的思想(动态代理最典型)! 拦截器其实也是面向切面编程!拦截器切断了所有请求到action的操作 并做了很多的前提 ...
- tensorflow saver简介+Demo with linear-model
tf.train.Saver提供Save和Restore Tensorflow变量的功能,常用于保存.还原模型训练结果,这在自己的训练和迁移学习中都很有用. 训练.保存脚本: import tenso ...
- LeetCode《买卖股票的最佳时机》系列题目,最详解
目录 说在前面 引例:只能交易一次 一.动态数组定义 二.状态转移方程 三.初始化 四.优化 无限制买卖 一.动态数组定义 二.状态转移方程 三.初始化 四.优化 交易 2 次,最大利润? 一.动态数 ...
- jmeter实际场景应用之测试上传excel文件
日常工作上测试的时候,会有一些场景是导入/上传文件.我们系统多是excel文件,这里就用excel文件为例,详述一下此次测试遇到的坑.最终结果是成功的,请看到最后! 1.获取接口的一些参数信息 先按F ...
- blender skin modifier 太好玩了
https://docs.blender.org/manual/en/latest/modeling/modifiers/generate/skin.html 只需要像画火柴人一样把点连起来,skin ...