概述
一般有2种方法,推荐第二种。
方法一(创建服务)
我们使用Windows Service Wrapper来为nginx创建服务,为什么不使用instsrv/servany、FireDaemon或者其他办法呢?
下面是网上摘录的一段话:
通过 instsrv/srvany(微软官方创建服务的方法) 或者 FireDaemon 的方式(来创建 Nginx 为服务),只是启动进程,当你想要停止它时,将关闭这个进程。但这些方式都无法关闭多余的那个 nginx.exe 进程。所以每次你停止/启动/重启服务都会产生一个多余的 nginx.exe 进程,不方便!
从网上下载一个Windows Service Wrapper(winsw.exe),然后复制到nginx根目录,可以随意改名字,比如我改成nginx-server.exe,然后新建一个xml文件(文件名比如和exe同名,比如我的叫nginx-server.xml),内容如下:
nginx
nginx
nginx server
D:\GreenSoft\nginx-1.11.8\nginx.exe
D:\GreenSoft\nginx-1.11.8\server-logs\
roll
-p D:\GreenSoft\nginx-1.11.8
-p D:\GreenSoft\nginx-1.11.8 -s stop
上面的logpath指的是服务的日志,记得先手动建一个server-logs文件夹,然后执行nginx-server install就会安装成功了!我一般还习惯去服务里面把它改成延迟启动:
方法二
方法一有一个很大的缺点,就是这种方式启动之后调用nginx -s reload命令失效,所以后来我采用了另外一种更简单的方法:
发送一个nginx的快捷方式到桌面,然后把这个快捷方式移动到如下目录即可实现开机自启(注意将Administrator更改为自己的用户名)!
C:\Users\Administrator\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup