将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


相关推荐
wj30558537844 分钟前
CC-Switch 在 WSL Ubuntu 中安装记录
linux·运维·ubuntu
人生匆匆1 小时前
通过nginx解决跨域问题
运维·nginx
原来是猿1 小时前
【Socket编程预备知识】
linux·运维·服务器·网络
吴爃1 小时前
Spring Boot 项目在 K8S 中的打包、部署与运维发布实践
运维·spring boot·kubernetes
Elastic 中国社区官方博客2 小时前
在 Elastic 中使用 MCP 自动化用户旅程以进行合成监控
大数据·运维·人工智能·elasticsearch·搜索引擎·自动化·可用性测试
长安链开源社区2 小时前
学者观察 | 基于区块链的隐私计算技术——北京理工大学教授祝烈煌
运维·区块链
learning-striving2 小时前
Ubuntu26.04下载安装教程
运维·服务器·vmware·虚拟机
码上行动 662 小时前
用U盘制作系统盘以及如何装系统
运维
invicinble2 小时前
关于搭建运维监控系统(Prometheus+Grafana)
运维·grafana·prometheus
__beginner__2 小时前
CentOS 磁盘占用异常排查与处理手册(df 高、du/ncdu 低)
linux·运维·centos