将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


相关推荐
czhc114007566339 分钟前
Linux 77 FTP
linux·运维·服务器
天若有情6731 小时前
【Linux】02_CentOS 7 开机运行级别详解:从基础概念到实战配置
linux·运维·centos
張萠飛1 小时前
Linux中程序的limits中的Max open files的配置由哪些参数决定
linux·运维·服务器
一心0929 小时前
ubuntu 20.04.6 sudo 源码包在线升级到1.9.17p1
运维·ubuntu·sudo·漏洞升级
好好学习啊天天向上9 小时前
世上最全:ubuntu 上及天河超算上源码编译llvm遇到的坑,cmake,ninja完整过程
linux·运维·ubuntu·自动性能优化
你想考研啊9 小时前
三、jenkins使用tomcat部署项目
运维·tomcat·jenkins
代码老y10 小时前
Docker:容器化技术的基石与实践指南
运维·docker·容器
典学长编程10 小时前
Linux操作系统从入门到精通!第二天(命令行)
linux·运维·chrome
DuelCode11 小时前
Windows VMWare Centos Docker部署Springboot 应用实现文件上传返回文件http链接
java·spring boot·mysql·nginx·docker·centos·mybatis
你想考研啊13 小时前
四、jenkins自动构建和设置邮箱
运维·jenkins