1. 背景
要部署一个nginx服务到Win平台的服务器上,需要完成nginx服务的注册,启动(开机自动和手动)重启,停止等工作。由于自己不熟悉PowerShell,所以就只能使用第三方的辅助工具了,这里我选择的是工具WinSW:https://github.com/winsw/winsw。
注:这里我用的是自己的电脑做的截图。
2. 准备工作
- CMD检查window版本
C:\Users\XXX>VER
Microsoft Windows [版本 10.0.18362.959]
- CMD检查.NET版本,版本越高对应需要下载的winsw版本越高,我这里都是4.8了可以下载最高的:
C:\Users\XXX>reg query "HKLM\Software\Microsoft\NET Framework Setup\NDP" /s /v version | findstr /i version | sort /+26 /r
Version REG_SZ 4.8.03752
Version REG_SZ 4.8.03752
Version REG_SZ 4.8.03752
Version REG_SZ 4.8.03752
Version REG_SZ 4.8.03752
Version REG_SZ 4.8.03752
Version REG_SZ 4.0.0.0
Version REG_SZ 3.5.30729.5003
Version REG_SZ 3.5.30729.4926
Version REG_SZ 3.5.30729.4926
Version REG_SZ 3.0.6920.4902
Version REG_SZ 3.0.4506.4926
Version REG_SZ 3.0.30729.8795
Version REG_SZ 3.0.30729.4926
Version REG_SZ 3.0.30729.4926
Version REG_SZ 3.0.30729.4926
Version REG_SZ 2.0.50727.4927
Version REG_SZ 2.0.50727.4927
Version REG_SZ 2.0.50727.4927
- 下载nginx1.8.0。
- 下载WinSW461(根据实际情况下载)和配置文件。
3. 配置一个Win平台上开机自启动nginx服务
- 参考:官方GetStart
-
将下载的wsw执行文件和配置文件移动到解压后的nginx目录下,并且改名为winsw.exe.winsw.xml(自己随意):
image.png - 编写配置文件,下面的 %BASE%就是指的你的winsw.exe所在的路径,当然你可以写绝对路径!
<service>
<!-- ID of the service. It should be unique across the Windows system-->
<id>nginx1.8</id>
<!-- Display name of the service -->
<name>Nginx1.8 Service</name>
<!-- Service description -->
<description>Nginx1.8 Service (powered by WinSW)</description>
<!-- Path to the executable, which should be started -->
<executable>%BASE%\nginx.exe</executable>
</service>
- 执行注册服务和启动服务命令。
C:\Tools\nginx-1.18.0>winsw install winsw.xml
2020-08-30 00:55:07,403 INFO - Installing the service with id 'nginx1.8'
C:\Tools\nginx-1.18.0>winsw start winsw.xml
2020-08-30 00:55:15,207 INFO - Starting the service with id 'nginx1.8'
- 最后查看service观察服务是不是启动了:
浏览器输入localhost观察nginx是否启动,收工:
image.png
网友评论