Windows Server 2012 配置Nginx自启动

Windwos下要把Nginx设置为开机自动启动,可以将Nginx添加到Windows服务中,这里我们需要用到一个工具:Windows Service Wrapper

下载Windows版的Nginx

打开Nginx官网下载页面,下载自己需要的版本,下载地址: https://nginx.org/en/download.html

把Nginx添加到Windows服务

首先需要下载Windows Service Wrapper工具,项目地址: https://github.com/winsw/winsw

选择自己服务器对应的Releases版本,这里我下载的是 WinSW.NET4.exe

下载好该工具后,将其放到Nginx目录下,并重命名为nginx-service.exe,依次创建配置文件nginx-service.xml、nginx-service.exe.config、nginx-service-install.bat、nginx-service-uninstall.bat

文件结构如下:

  • nginx-service.xml 内容如下:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
<service>   
<id>nginx</id>
<name>Nginx Service</name>
<description>Nginx Service 管理服务</description>
<logpath>%BASE%\logs</logpath>
<log mode="roll-by-size">
<sizeThreshold>10240</sizeThreshold>
<keepFiles>8</keepFiles>
</log>
<executable>%BASE%\nginx.exe</executable>
<startarguments>-p %BASE%</startarguments>
<stopexecutable>%BASE%\nginx.exe</stopexecutable>
<stoparguments>-p %BASE% -s stop</stoparguments>
</service>

说明:%BASE%指向文件所在目录

  • nginx-service.exe.config 内容如下:
1
2
3
4
5
6
7
8
9
<configuration>  
<startup>
<!--以.NET 4.0 运行-->
<supportedRuntime version="v4.0" />
</startup>
<runtime>
<generatePublisherEvidence enabled="false"/>
</runtime>
</configuration>
  • nginx-service-install.bat 内容如下:
1
2
3
4
5
nginx-service.exe install

nginx-service.exe start

pause

说明:此文件用于安装服务并启动 安装服务:nginx-service.exe install 启动服务:nginx-service.exe start

  • nginx-service-uninstall.bat 内容如下:
1
2
3
4
5
nginx-service.exe stop

nginx-service.exe uninstall

pause

说明:此文件用于停止服务并卸载 停止服务:nginx-service.exe stop 卸载服务:nginx-service.exe uninstall

服务管理

执行完 nginx-service-install.bat 文件后,服务就已经安装成功了,并且服务已经运行起来了,同时也启动了Nginx。

在Windows服务管理面板中查看Nginx服务:

在浏览器地址栏中输入localhost检查Nginx是否运行: