在windows服务器上运行了nginx,那么肯定会面临一个问题,那就是重启了怎么办,网站访问不了,每次手动启动很麻烦。然而nginx作为linux的一款软件,在windows下面注册成服务还是比较麻烦的,参考了网上的资料,现目前无外乎有两种方式。
第一种是使用Windows Service Wrapper(强烈推荐,原因在本文最下面)
1.工具下载地址:http://pan.baidu.com/s/1kVPecCJ(文件取消)
新提供下载路径:https://github.com/kohsuke/winsw/releases
2.解压后将最新的1.9版本重命名为“myapp.exe” 并将其放到nginx目录下
3.新建一个文本文档内容如下:(里面的路径根据自己的情况修改)
- <service>
- <id>nginx</id>
- <name>nginx</name>
- <description>nginx</description>
- <executable>D:\web_project\nginx-1.9.5\nginx.exe</executable>
- <logpath>D:\web_project\nginx-1.9.5\logs</logpath>
- <logmode>roll</logmode>
- <depend></depend>
- <startargument>-p D:\web_project\nginx-1.9.5</startargument>
- <stopargument>-p D:\web_project\nginx-1.9.5 -s stop</stopargument>
- </service>
4.运行cmd执行如下命令:(路径根据自己的情况修改)
D:\web_project\nginx-1.9.5\myapp.exe install
5.进入系统服务就能看见 nginx了。(完成)
第二种是 instsrv / servany 方式。
1.工具下载地:http://eastedu.bl-changjiang.com/UploadFiles/2006-5/511179043.rar
2.解压后把srvany.exe复制到nginx目录下
3.运行cmd切换路径到nginx目录下,并执行下面的命令:
instsrv Nginx c:\nginx\srvany.exe
4.在nginx目录下编辑一个nginx.reg的文件
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\NGINX\Parameters]
"Application"="C:\\nginx\\nginx.exe"
"AppParameters"=""
"AppDirectory"="C:\\nginx\\"
5.让服务与程序关联起来, 命令行执行
regedit /s nginx.reg
6.编辑启动nginx脚本start-nginx.bat(关闭脚本不用变), 让程序以服务方式运行
@ECHO
OFF net stop nginx
net start nginx
EXIT