将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


相关推荐
SkyWalking中文站16 小时前
认识 Horizon UI · 6/17:Trace 探索器
运维·监控·自动化运维
火车叼位19 小时前
写给初级开发者:SSL、SSH、HTTPS 与证书体系全解析
运维
小猿姐1 天前
唯品会大规模数据库云原生实践:基于 KubeBlocks 管理数千实例的统一运维之路
运维·elasticsearch·云原生
SkyWalking中文站2 天前
认识 Horizon UI · 5/17:3D 基础设施地图
运维·监控·自动化运维
SkyWalking中文站3 天前
认识 Horizon UI · 1/17:SkyWalking 新一代可观测性控制台
运维·前端·监控
雪梨酱QAQ3 天前
Kubeneters HA Cluster部署
运维
江华森3 天前
Spring Cloud 微服务全栈实战:从 Eureka 到 Docker Compose 一文贯通
运维
江华森3 天前
Matplotlib 数据绘图基础入门
运维
江华森3 天前
NumPy 数值计算基础入门
运维
乘云数字DATABUFF7 天前
5分钟部署开源APM Databuff:OpenTelemetry全链路追踪入门实战
运维·后端