一般有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
),内容如下:
<?xml version="1.0" encoding="UTF-8" ?> <service> <id>nginx</id> <name>nginx</name> <description>nginx server</description> <executable>D:\GreenSoft\nginx-1.11.8\nginx.exe</executable> <logpath>D:\GreenSoft\nginx-1.11.8\server-logs\</logpath> <logmode>roll</logmode> <depend></depend> <startargument>-p D:\GreenSoft\nginx-1.11.8</startargument> <stopargument>-p D:\GreenSoft\nginx-1.11.8 -s stop</stopargument> </service>
上面的logpath
指的是服务的日志,记得先手动建一个server-logs
文件夹,然后执行nginx-server install
就会安装成功了!我一般还习惯去服务里面把它改成延迟启动:
方法一有一个很大的缺点,就是这种方式启动之后调用nginx -s reload
命令失效,所以后来我采用了另外一种更简单的方法:
发送一个nginx
的快捷方式到桌面,然后把这个快捷方式移动到如下目录即可实现开机自启(注意将Administrator
更改为自己的用户名)!
C:\Users\Administrator\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup
原文:https://blog.csdn.net/liutong123987/article/details/79112707
原文:https://www.cnblogs.com/chengNet/p/13261836.html