将nginx安装为windows服务

借助winsw将nginx安装为windows的服务

下载winsw

项目地址:https://github.com/kohsuke/winsw

下载地址:http://repo.jenkins-ci.org/releases/com/sun/winsw/winsw/

获得一个文件winsw-x.xx-bin.exe

配置winsw

将下载的winsw-x.xx-bin.exe文件复制到nginx的目录内,并改名为nginxservice.exe

建立配置文件 nginxservice.exe.config

设置运行环境为.net4

如果你的windows服务器上安装的是.net2或.net2.5不需要此配置文件

1
2
3
4
5
<configuration>
<startup>
<supportedRuntime version="v4.0" />
</startup>
</configuration>

建立配置文件 nginxservice.xml

注意startargument和stopargument,网上找到的参数都是写在一个节点内的

但是在一个节点内如果参数有空格的话winsw在运行参数上会自动添加上引号导致nginx启动或停止失败.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<service>
<id>nginx</id>
<name>nginx</name>
<description>nginx http server</description>
<executable>{nginx path}\nginx.exe</executable>
<stopexecutable>{nginx path}\nginx.exe</stopexecutable>
<logpath>{nginx path}\logs\</logpath>
<logmode>roll</logmode>
<depend></depend>
<startargument>-p</startargument>
<startargument>{nginx path}</startargument>
<stopargument>-p</stopargument>
<stopargument>{nginx path}</stopargument>
<stopargument>-s</stopargument>
<stopargument>stop</stopargument>
</service>

安装为系统服务

执行如下命令

1
nginxservice.exe install

这样就将nginx配置为windows的服务

winsw介绍

winsw是个很好用的工具可以将任意的程序配置为windows的系统服务,详细的参数描述请查看winsw项目地址的描述.

参考

stackoverflow的相关问题