像Linux的systemd一样创建一个windows系统服务,让nginx服务随windows系统启动而自动启动服务

42 阅读2分钟

像Linux的systemd一样创建一个windows系统服务,让nginx服务随windows系统启动而自动启动服务

windows前置条件

  • choco【包管理工具】
  • nssm 【windows下的服务注册管理命令行工具】
  • windows版本的nginx可执行程序

环境准备

windwos版本nginx1.26.3官方下载链接

执行步骤

我们首先在windows系统上安装choco 包管理工具

接着通过choco包管理工具安装nssm

安装好nssm后,通过该工具,将nginx注册成windows系统服务,并配置让nginx服务随windows系统启动而自动启动

安装choco

以管理员权限打开powershell,在打开的powershell终端中执行以下命令安装choco

035f54ad-535e-4e40-8362-a9908201c7cc

Set-ExecutionPolicy Bypass -Scope Process -Force; [System.Net.ServicePointManager]::SecurityProtocol = [System.Net.ServicePointManager]::SecurityProtocol -bor 3072; iex ((New-Object System.Net.WebClient).DownloadString('https://community.chocolatey.org/install.ps1'))

安装nssm

通过choco安装nssm

choco install nssm -y

9965525f-f227-4964-b97f-8ac535aa878c

将nginx注册成windows系统服务

将windows版的nginx压缩包下载到windows本地,解压,将解压后的nginx目录,移动到软件存放位置。记住解压后nginx目录的存放位置。

dc5ffb5d-6afa-4dcf-a592-65e3b0f72580

230d80e4-2439-4029-ba16-c11d3ab61618

以管理员权限打开powershell,执行以下命令开始注册windows系统服务

035f54ad-535e-4e40-8362-a9908201c7cc

nssm install nginx

在弹出的窗口中选择我们存放nginx目录的位置,选择nginx.exe,选择好配置文件,示例如下图:

9ec1d668-143c-4b2d-869b-7fdd805a3d86

弹出服务配置成功提示

243c32eb-117d-43e4-a66d-c1d4c8a75b41

配置nginx服务随windows系统启动而自动启动

打开windows运行框,执行services.msc

e3c90d60-ae67-4463-b007-c016046e27f6

在打开的服务管理中找到我们新注册的nginx服务

fadb3b44-442a-4482-b3bc-73130478deb9

在找到的nginx服务上鼠标右击,打开nginx服务的属性

a2fb972a-f989-4b9a-9b54-b31aab3319bc

启动类型改为自动,确定,即可让nginx服务随windows系统启动而自动启动了。

e5e0efb3-8a8f-492b-82c4-fdeffff8210e

到此【将nginx服务配置为windows系统服务并且随windows系统启动而启动】需求实现