在windows上安装nginx并作为系统服务

本文介绍了如何在Windows系统中部署和配置Nginx,包括下载、使用WinSW将Nginx打包为Windows服务、配置WinSW.xml、启动/停止服务以及解决reload命令问题的方法,需要用到PSTools工具。
摘要由CSDN通过智能技术生成

项目中需要将nginx部署到windows系统中,参照linux中的部署和要求整理一下部署过程。

1、下载部署

到nginx的官方网站中下载最新的稳定版的nginx。

部署nginx,解压即可。

2、使用winsw

WinSW为开源项目(https://github.com/winsw/winsw/releases),可用于将自定义进程包装和管理为Windows服务。下载安装包后,可以重命名winsw.exe为任何名称,例如myService.exe。

在项目地址查找最新的稳定版本,例如:

https://github.com/winsw/winsw/releases/tag/v2.12.0

下载后将WinSW-x64.exe放到nginx文件夹中,新建WinSW-x64.xml

<service>   
  <id>nginx</id>   
  <name>Nginx Service</name>   
  <description>High Performance Nginx Service</description>   
  <logpath>D:\nginx-1.24.20\winswlogs</logpath>   
  <log mode="roll-by-size">     
    <sizeThreshold>10240</sizeThreshold>     
    <keepFiles>8</keepFiles>   
  </log>   
  <executable>D:\nginx-1.24.20\nginx.exe</executable>   
  <startarguments>-p D:\nginx-1.24.20</startarguments>   
  <stopexecutable>D:\nginx-1.24.20\nginx.exe</stopexecutable>   
  <stoparguments>-p D:\nginx-1.24.20 -s stop</stoparguments>
</service>

配置文件说明:

id 服务唯一标识
name 在windowServer中显示的名字
description 描述
logpath winsw的日志输出地址
log 日志信息的配置
executable windows服务启动时要执行的命令
startarguments 启动时要带的参数
stopexecutable windows服务停止时要执行的命令
stoparguments 停止时要带的参数

以管理员身份打开当前目录命令行执行安装
nginx-service.exe install

如要卸载,以管理员执行
nginx-service.exe uninstall

3、启动停止

启动 net start nginx
停止 net stop nginx

执行Reload

正常操作命令是:cd C:\Program Files\nginx && nginx -s reload。

但是把nginx安装为windows服务运行后,无法进行这个操作。

解决方法,下载微软的pstools

https://download.sysinternals.com/files/PSTools.zip

使用帮助:https://learn.microsoft.com/zh-cn/sysinternals/downloads/pstools

如果路径有空格,需用引号包起来执行:

"C:\Program Files\PSTools\psexec.exe" -s "C:\Program Files\nginx\nginx.exe" -p "C:\Program Files\nginx" -s reload

执行结果:C:\Program Files\nginx\nginx.exe exited on WIN-F0C8K with error code 0.重载就完成了。

至此,完成配置。

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值