将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


相关推荐
逸模6 小时前
告别熬夜手工整理台账,逸模智能归集实现项目数据自动化存档
大数据·运维·人工智能·笔记·其他·信息可视化·自动化
sbjdhjd6 小时前
Redis 主从复制、哨兵高可用与 Cluster 集群部署实验手册
运维·前端·redis·云原生·开源·bootstrap·html
AOwhisky6 小时前
MySQL 学习笔记(第四期):SQL 语言之多表查询
linux·运维·网络·数据库·笔记·学习·mysql
Phantom Void6 小时前
服务器处理客户端请求的设计方法
linux·运维·网络
倔强的石头1067 小时前
Fooocus开源神器+cpolarAI让绘画告别服务器依赖
运维·服务器·cpolar
wei_shuo7 小时前
服务器挂了等用户投诉才发现?我用Beszel搭了轻量监控系统,宕机第一时间通知我
运维·服务器
王码码20357 小时前
多台服务器怎么统一看状态?Beszel 轻量监控,搭起来不费事
运维·服务器·后端·安全·阿里云·接口·web
APItesterCris10 小时前
实战教程:借助 Open Claw + 淘宝商品 API,低成本实现电商自动化监控与智能选品
大数据·运维·自动化
风曦Kisaki12 小时前
# 自动化运维Day03:Ansible模块进阶(setup,debug),四种常用变量,进阶语法;Ansible Roles(角色)
运维·自动化·ansible
赵民勇12 小时前
Linux strings命令详解
linux·运维