在 Windows 中简化 Nginx 命令行操作

本文的主要目的是为了实现打开命令行后可以直接运行 Nginx 的常用命令,不需要手动切换到工作目录,从而简化操作流程。

1. 背景

在 Windows 中运行 Nginx 每次都需要进入安装目录,运行 Nginx 工具:

  • 直接将 Nginx 的安装目录添加到「Windows 系统环境变量 > Path」中后,只能运行 nginx -v 命令。而 nginx -t 或者 start nginx 命令则无法正常执行。
  • 直接将 start Nginx 封装成快捷方式,则只能用于启动 Nginx,如果要运行其他 reload 等命令需要单独封装,仍然非常麻烦。

2. 使用批处理脚本自动切换目录

创建一个自动将工作目录定位到 Nginx 目录的脚本,以 bat 脚本为例(请根据自己的 Nginx 目录修改 targetDir 的值):

@echo off

REM 设置目标目录
set "targetDir=T:\zeoapp\nginx\nginx-1.26.2"

REM 切换目录
cd /d "%targetDir%"

cmd /k
  • @echo off关闭命令回显。
  • /K: 表示在执行完指定的命令后保持打开状态(不退出)

2.1. 扩展

# 检查 nginx 进程运行情况
# imagename 进程的映像名称(进程所基于的可执行文件的名字)
tasklist /fi "imagename eq nginx.exe"
# 强制关闭 nginx 进程
# /F 表示强制 /IM 进程的映像名称
taskkill /F /IM nginx.exe

3. 方法二:创建一个映射 Nginx 主要方法的脚本

  1. 在 Nginx 目录下,创建一个脚本文件;
  2. 在脚本文件中实现,映射 Nginx 的主要参数或方法,脚本文件参考见下文;
  3. 将脚本文件所在目录添加到系统环境变量 Path 中。

此方法更详细的步骤可以参考:
Windows下配置Nginx环境变量,无需在Nginx文件下启动
windows 配置nginx环境变量(玩出新花样)(nginx下载与安装)

# 源于 https://www.cnblogs.com/Marydon20170307/p/15944960.html
# 详细步骤请参考如下文章:
# https://www.cnblogs.com/Marydon20170307/p/15944960.html
# https://jnssd.com/2023/01/17/operation/Windows%E4%B8%8B%E9%85%8D%E7%BD%AENginx%E7%8E%AF%E5%A2%83%E5%8F%98%E9%87%8F%EF%BC%8C%E6%97%A0%E9%9C%80%E5%9C%A8Nginx%E6%96%87%E4%BB%B6%E4%B8%8B%E5%90%AF%E5%8A%A8/
@echo off
if "%1"=="-?" goto help
if "%1"=="-h" goto help
if "%1"=="-v" goto vVtTqspecg
if "%1"=="-V" goto vVtTqspecg
if "%1"=="-t" goto vVtTqspecg
if "%1"=="-T" goto vVtTqspecg
if "%1"=="-q" goto vVtTqspecg
if "%1"=="-s" goto vVtTqspecg
if "%1"=="-p" goto vVtTqspecg
if "%1"=="-e" goto vVtTqspecg
if "%1"=="-c" goto vVtTqspecg
if "%1"=="-g" goto vVtTqspecg
if "%1"=="start" goto start
if "%1"=="search" goto search
if "%1"=="kill" goto kill
goto errors
 
:help
nginx -v
echo Usage: nginx2 [-?,-h] [-v] [-V] [-t] [-T] [-q]
echo               [-s signal] [-p prefix] [-e filename] [-c filename] [-g directives]
echo               [start] [search] [kill]
echo=
echo Options:
echo   -?,-h           : this help
echo   -v              : show version and exit
echo   -V              : show version and configure options then exit
echo   -t              : test configuration and exit
echo   -T              : test configuration, dump it and exit
echo   -q              : suppress non-error messages during configuration testing
echo   -s signal       : send signal to a master process: stop, quit, reopen, reload
echo   -p prefix       : set prefix path (default: NONE)
echo   -e filename     : set error log file (default: logs/error.log)
echo   -c filename     : set configuration file (default: conf/nginx.conf)
echo   -g directives   : set global directives out of configuration file
echo   start           : start nginx master process(customize include)
echo   search          : show the nginx master process list(customize include)
echo   kill            : kill all nginx master processes(customize include)
echo=
exit /B
 
:vVtTqspecg
nginx %1 %2 -p %NGINX_HOME%
exit /B
 
:start
start nginx -p %NGINX_HOME%
exit /B
 
:search
tasklist /fi "imagename eq nginx.exe"
exit /B
 
:kill
taskkill /F /IM nginx.exe
exit /B
 
:errors
echo nginx2: invalid option: "%1 %2"
echo=   
exit /B

3.1. 参考

  1. windows 配置nginx环境变量(玩出新花样)(nginx下载与安装)- Marydon - 博客园: https://www.cnblogs.com/Marydon20170307/p/15944960.html
  2. Windows下配置Nginx环境变量,无需在Nginx文件下启动 | 个人随身录: https://jnssd.com/2023/01/17/operation/Windows下配置Nginx环境变量,无需在Nginx文件下启动/

  • 本作品采用 署名-相同方式共享 4.0 国际(CC BY-SA 4.0 DEED) 许可

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/909147.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

项目管理(软设软考高频)

一、进度管理 1.Gantt图 2.PERT图 二、风险管理 三、沟通管理 四、成本管理

在Java中,实现数据库连接通常使用JDBC

学习总结 1、掌握 JAVA入门到进阶知识(持续写作中……) 2、学会Oracle数据库入门到入土用法(创作中……) 3、手把手教你开发炫酷的vbs脚本制作(完善中……) 4、牛逼哄哄的 IDEA编程利器技巧(编写中……) 5、面经吐血整理的 面试技…

gradle下载的jar包,源码出现Decompiled .class file, bytecode version

如下是问题截图 问题产生原因: gradle依赖下载只下载了jar包,这导致idea在读取jar包时,需要通过Fernflower技术对jar包进行反编译,而反编译过程中只会保留源码信息,因此注释等额外信息全部丢失 解决方案&#xff1a…

[357]基于springboot的中小型制造企业质量管理系统

摘 要 信息数据从传统到当代,是一直在变革当中,突如其来的互联网让传统的信息管理看到了革命性的曙光,因为传统信息管理从时效性,还是安全性,还是可操作性等各个方面来讲,遇到了互联网时代才发现能补上自古…

SAP(PP生产制造)拆解工单业务处理

1、BOM维护 要拆解的成品或半成品要和原成品、半成品BOM一致 2、创建拆解工单 CO01选择拆解工单的类型,以及填写拆解的物料和拆解工厂 维护工单组件 注意: 1、拆解入库组件的数量需要维护为负数 2、拆解工单投料组件数量维护为正数 3、拆解工单收发…

NavVis LX系列产品典型应用—现有住宅装修改造-沪敖3D

现有住宅装修改造项目的 数据捕捉和测量技术 当Jay Ure着手翻新和美化自己的新家时,他敏锐地发现这是现场测试NavVis VLX的绝佳机会。 为了全面评估,他聘请了一位工程师,采用传统的全站仪技术进行地形测绘。之后,他用移动扫描设…

【初阶数据结构篇】链式结构二叉树(续)

文章目录 须知 💬 欢迎讨论:如果你在学习过程中有任何问题或想法,欢迎在评论区留言,我们一起交流学习。你的支持是我继续创作的动力! 👍 点赞、收藏与分享:觉得这篇文章对你有帮助吗&#xff1…

qt QTabWidget详解

1、概述 QTabWidget是Qt框架中的一个控件,它提供了一个标签页式的界面,允许用户在不同的页面(或称为标签)之间切换。每个页面都可以包含不同的内容,如文本、图像、按钮或其他小部件。QTabWidget非常适合用于创建具有多…

Linux系统基础-多线程超详细讲解(5)_单例模式与线程池

个人主页:C忠实粉丝 欢迎 点赞👍 收藏✨ 留言✉ 加关注💓本文由 C忠实粉丝 原创 Linux系统基础-多线程超详细讲解(5)_单例模式与线程池 收录于专栏[Linux学习] 本专栏旨在分享学习Linux的一点学习笔记,欢迎大家在评论区交流讨论&a…

Spark中的宽窄依赖

一、什么是依赖关系 这里通过一张图来解释: result_rdd是由tuple_rdd使用reduceByKey算子得到的, 而tuple_rdd是由word_rdd使用map算子得到的,word_rdd又是由input_rdd使用flatMap算子得到的。它们之间的关系就称为依赖关系! 二…

[每周一更]-(第121期):模拟面试|微服务架构面试思路解析

这一系列针对Go面试题整理,仅供参考 文章目录 00|综合服务治理方案:怎么保证微服务应用的高可用?1. **什么是微服务架构?**2. **怎么保证微服务架构的高可用?**3. **怎么判定服务是否已经健康?**4. **如果服务不健康该怎么办?**5. **怎么判定服务已经从不健康状态恢复过…

一体化运维监控管理平台详解:构建高效运维体系

在当今数字化转型的大潮中,IT系统的复杂性和规模不断扩大,运维工作的挑战也随之增加。为了应对这一挑战,我们推出了一体化运维监控管理平台,旨在通过全面、智能的监控手段,提升运维效率,保障业务连续性。本…

FBX福币交易所A股三大指数小幅低开 稀土永磁板块回调

查查配分析11月5日电 周二,A股三大指数小幅低开。沪指开盘跌0.10%报3306.81点,深证成指开盘跌0.09%报10653.20点,创业板指开盘跌0.05%报2184.90点。 FBX福币凭借用户友好的界面和对透明度的承诺,迅速在加密货币市场中崭露头角,成为广大用户信赖的平台。 来源:同花顺iFinD 盘面…

【数据分享】1981-2024年我国逐日平均气温栅格数据(免费获取)

气象数据一直是一个价值很高的数据,它被广泛用于各个领域的研究当中。这其中,又以平均气温数据最为常用!之前我们分享过来源于美国国家海洋和大气管理局(NOAA)下设的国家环境信息中心(NCEI)发布的1929-2024年全球站点的…

云渲染与汽车CGI图像技术优势和劣势

在数字时代,云渲染技术以其独特的优势在汽车CGI图像制作中占据了重要地位。云渲染通过利用云计算的分布式处理能力,将渲染任务分配给云端的服务器集群进行计算,从而实现高效、高质量的渲染效果。 这种技术的优势主要体现在以下几个方面&#…

QT仿QQ聊天项目,第三节,实现主界面(好友列表)

目录 一,主界面示例 二,主界面控件组成 三,好友列表实现 1,好友列表的实现原理 2,实现示例代码 一,主界面示例 二,主界面控件组成 三,好友列表实现 1,好友列表的实现…

20241105编译荣品的Android13并给荣品PRO-RK3566开发板刷机

20241105编译荣品的Android13并给荣品PRO-RK3566开发板刷机 2024/11/5 19:10 荣品SDK版本呢:rk-android13-20240713.tgz cf9cea18d26ad7db31b000a7d13b09c2 rk-android13-20240713.tgz 精简步骤: rootrootrootroot-desktop:~$ cd Android13.0/rootrootr…

KVM虚拟机的冷热迁移

首先了解在KVM(Kernel-based Virtual Machine)环境中,冷热迁移是指将虚拟机从一台主机迁移到另一台主机的过程,根据虚拟机是否需要停机,迁移分为热迁移和冷迁移: 冷迁移(Cold Migration&#x…

讲讲软件业务设计原则?

大家好,我是锋哥。今天分享关于【讲讲软件业务设计原则?】面试题。希望对大家有帮助; 讲讲软件业务设计原则? 1000道 互联网大厂Java工程师 精选面试题-Java资源分享网 在软件开发过程中,如何设计一个既高效又可维护…

Cuebric:用AI重新定义3D创作的未来

一、简介 Cuebric 是一家成立于2022年夏天的好莱坞创新公司,致力于为电影、电视、游戏和时尚等行业提供先进的AI多模态SaaS平台。自2024年1月正式推出以来,Cuebric 已经在市场上获得了广泛的认可和积极的反馈。目前,该平台正处于1.0版本的beta测试阶段,已募集约50万美元的…