将nginx注册为Windows系统服务

文章目录

1、使用nssm小工具

该方法最简单

首先,下载nssm小工具:https://nssm.cc/download

管理员运行cmd,进入到nssm.exe的路径中,输入nssm install

2、使用winsw小工具

Windows Service Wrapper(winsw)是一个可执行二进制文件,可用于包装和管理作为Windows服务的自定义进程

2.1、下载

下载地址1:https://repo.jenkins-ci.org/releases/com/sun/winsw/winsw/

下载地址2:https://github.com/winsw/winsw/releases

2.2、用法

WinSW通过配置文件(支持xml和yaml两种格式)的方式进行管理。

配置完成后,可配合以下命令进行windows服务的安装、启动、停止等操作(大多数命令都需要管理员权限才能执行)

bash 复制代码
install 将服务安装到Windows Service Controller.
uninstall 卸载服务和上面相反的操作。
start 启动服务,该服务必须已经安装。
stop 停止服务。
stopwait 停止服务并等待,直到它实际上停止为止。
restart 重新启动服务。如果该服务当前未运行,则此命令的作用类似于start。
status 检查服务的当前状态。

2.3、重命名

将下载好的WinSW-x64.exe重命名,命名后的名称即为要注册的服务名

2.4、创建配置文件

重点:WinSW.exe 、ml配置文件、config配置文件 需要在重命名时设为为相同的文件名

2.4.1、xml文件

创建的xml文件名需要与上面exe的文件名保持一致,xml内容:

xml 复制代码
<service>
  <!-- 服务ID。它应该在整个Windows系统中是唯一的-->
  <id>nginx-service</id>
  <!-- 在系统服务中显示的名称 -->
  <name>nginx-service</name>
  <!-- 服务描述 -->
  <description>nginx服务</description>
  
  <!-- 启动可执行文件的路径 -->
  <executable>D:\nginx-1.24.0\nginx.exe</executable>
  <!-- 停止可执行文件的路径 -->
  <stopexecutable>D:\nginx-1.24.0\nginx.exe</stopexecutable>
  <!-- 停止参数 -->
  <stoparguments>-p D:\nginx-1.24.0 -s stop</stoparguments>

  <!-- 日志路径(如不配置,日志文件默认在可执行文件的路径) -->
  <logpath>D:\nginx-1.24.0\nginx-service-logs</logpath>
  <!-- 日志模式 -->
  <log mode="roll-by-size">
    <sizeThreshold>10240</sizeThreshold>
    <keepFiles>8</keepFiles>
  </log>
</service>

2.4.2、config文件(该文件可省略)

config文件,配置是固定的,直接粘贴用

xml 复制代码
<configuration>
  <startup>
    <supportedRuntime version="v2.0.50727" />
    <supportedRuntime version="v4.0" />
  </startup>
  <runtime>
    <generatePublisherEvidence enabled="false"/> 
  </runtime>
</configuration>

2.5、最终文件

2.6、安装与卸载

语法:[服务名] 指令

安装服务:nginx-service install

卸载服务:nginx-service uninstall


相关推荐
市安2 分钟前
docker命令知识点1
运维·docker·云原生·容器·eureka
SmartRadio23 分钟前
ESP32-S3实现KVM远控+云玩功能 完整方案
运维·python·计算机外设·esp32·kvm·云玩
重生之绝世牛码39 分钟前
Linux软件安装 —— PostgreSQL集群安装(主从复制集群)
大数据·linux·运维·数据库·postgresql·软件安装·postgresql主从集群
李少兄1 小时前
深入解析 Nginx 413 Request Entity Too Large 错误
运维·nginx
青主创享阁1 小时前
玄晶引擎:基于多模态大模型的全流程AI自动化架构设计与落地实践
运维·人工智能·自动化
天才奇男子1 小时前
LVS原理及部署
linux·运维·云原生·wpf·lvs·linux chrony
学习3人组1 小时前
Docker run 挂载本地两个目录到容器内的写法(核心规则+实操示例)
运维·docker·容器
实心儿儿2 小时前
Linux —— 进程概念 - 初识进程
linux·运维·服务器
数通工程师2 小时前
实操教程:华为防火墙HRP主备模式完整配置步骤
运维·服务器·网络·网络协议·tcp/ip·华为
航Hang*2 小时前
计算机等级考试(三级Linux技术)--- 考纲与知识点
linux·运维·服务器·计算机三级·计算机等级考试