在 Windows 中简化 Nginx 命令行操作

news/2024/11/5 22:48:12 标签: 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) 许可

http://www.niftyadmin.cn/n/5739918.html

相关文章

spring ai 入门 之 结构化输出 - 把大模型llm返回的内容转换成java bean

目录 ​编辑 将AI非结构化文本转换为特定格式数据的应用场景说明 Spring AI 介绍 :为Java开发者打造的AI应用开发框架 Qwen 介绍 : 一个国内领先的开源大模型 Spring AI Alibaba框架介绍 : 一个国内最好的spring ai实现 使用spring ai …

deepfm模型实现招聘职位推荐算法

项目源码获取方式见文章末尾! 600多个深度学习项目资料,快来加入社群一起学习吧。 《------往期经典推荐------》 项目名称 1.【基于CNN-RNN的影像报告生成】 2.【卫星图像道路检测DeepLabV3Plus模型】 3.【GAN模型实现二次元头像生成】 4.【CNN模型实现…

git查看历史提交中文件的变化

在版本控制系统中,Git以其强大的日志和差异分析功能而闻名。这些功能帮助开发者追踪文件的变更历史和理解代码的演进。本文将深入探讨四个Git命令:git log --name-only、git log --name-status和git diff-tree --no-commit-id --name-status -r、git sho…

深度学习之数据增强

1 深度学习中常用的数据增强方法? Color Jittering:对颜色的数据增强:图像亮度、饱和度、对比度变化(此处对色彩抖动的理解不知是否得当); PCA Jittering:首先按照RGB三个颜色通道计算均值和标…

【万字详文介绍】:迭代扩张卷积神经网络(IDCNN)

💗💗💗欢迎来到我的博客,你将找到有关如何使用技术解决问题的文章,也会找到某个技术的学习路线。无论你是何种职业,我都希望我的博客对你有所帮助。最后不要忘记订阅我的博客以获取最新文章,也欢…

如何取消Outlook中的循环会议

如何取消Outlook中的循环会议 参考链接:https://iknow.lenovo.com.cn/detail/195430 1、打开Outlook,进入 日历 视图界面; 2、 选择并双击要取消的循环会议; 3、 在 打开定期项目 对话框中选择整个序列,然后单击 确…

电机轴设计的技术参数研究

电机轴作为电机的关键组件之一,其设计不仅关系到电机的性能和效率,还直接影响到整个机械系统的可靠性与使用寿命。电机轴的设计涉及众多技术参数,这些参数通常包括但不限于尺寸参数、材料选择、强度分析、转动平衡、轴承选择以及制造公差等。…

好用的办公套件--- ONLYOFFICE

目录 引言 UI界面 ONLYOFFICE 协作空间 使用协作空间三步走 一、注册与登录 二、创建房间 三、上传与编辑文档 ONLYOFFICE协作空间的安全性 ONLYOFFICE 文档 关于 ONLYOFFICE 引言 ONLYOFFICE 桌面编辑器 ONLYOFFICE是一款功能全面的办公套件,支持文档、表…