01月09, 2021

把Nginx添加为Windows服务

之前参考过几个文档,都是基于“Windows Service Wrapper” 这个软件搞的,但是这个软件有个问题,即使设置了开机启动,在某些情况下并未生效,具体原因未知。

Nginx安装

下载页面:http://nginx.org/en/download.html

选择Windows版本即可

解压到磁盘的某个位置,我的位置

D:\server\nginx-1.19.4

添加Windows服务

需要借助"Windows Service Wrapper"小工具,下载地址: http://repo.jenkins-ci.org/releases/com/sun/winsw/winsw/1.18/winsw-1.18-bin.exe

下载后放在nginx目录下,并修改名字为nginx-service.exe

创建配置文件nginx-service.exe.config 和 nginx-service.xml

nginx-service.xml的内容如下:

D:\server\nginx-1.19.4 换成自己nginx目录

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

nginx-service.exe.config内容如下:

<configuration>
  <startup>
    <supportedRuntime version="v2.0.50727" />
    <supportedRuntime version="v4.0" />
  </startup>
  <runtime>
    <generatePublisherEvidence enabled="false"/> 
  </runtime>
</configuration>

最终目录如下

image.png

最后在nginx目录执行如下命令

nginx-service.exe install

本文链接:https://blog.zkit.org/post/14.html

-- EOF --

Comments