为了在win环境下添加nginx自启服务,我度娘了,
找到在cnblogs下()有篇文章是介绍如何添加nginx到win的自启动服务中。
步骤大概是下载个叫windows service Wrapper的程序-》配置该程序
下载地址我找了下,在有,,原来blog的地址连接已经失效了。后续再挖掘,
发现有个新版https://github.com/kohsuke/winsw
另外这个网址也介绍了详细的配置方法。
按来配置我的nginx自启动服务
2、把下载的文件(winsw-1.9-bin.exe)复制到nginx目录(D:\soft\nginx-1.10.2)
3、nginx目录下创建一个同名的Windows Service Wrapper的XML配置文件(winsw-1.9-bin.xml)
文件内容如下:
文件内容如下:
<?xml version="1.0" encoding="UTF-8" ?>
<service>
<id>nginx</id>
<name>nginx</name>
<description>nginx</description>
<executable>D:\soft\nginx-1.10.2\nginx.exe</executable>
<logpath>D:\soft\nginx-1.10.2</logpath>
<logmode>roll</logmode>
<depend></depend>
<startargument>-p D:\soft\nginx-1.10.2</startargument>
<stopargument>-p D:\soft\nginx-1.10.2 -s stop</stopargument>
</service>
4、命令行执行安装命令
Windows Servcie Wrapper的命令格式如下:
# 安装服务
CMD:\> winsw-1.9-bin.exe install
# 卸载服务
CMD:\> winsw-1.9-bin.exe uninstall
# 启动服务
CMD:\> winsw-1.9-bin.exe start
# 停止服务
CMD:\> winsw-1.9-bin.exe stop
结语:后来研究了该服务的启动原理,从wrapper程序输出的日志中知道了参数的原理
2017-01-24 09:34:53 - Starting D:\soft\nginx-1.10.2\nginx.exe
2017-01-24 09:34:53 - Started 660
2017-01-24 09:45:16 - Starting D:\soft\nginx-1.10.2\nginx.exe
2017-01-24 09:45:16 - Started 3360
2017-01-24 09:48:41 - Starting D:\soft\nginx-1.10.2\nginx.exe -p D:\soft\nginx-1.10.2
2017-01-24 09:48:41 - Started 3960
2017-01-24 09:48:47 - Stopping nginx
2017-01-24 09:48:47 - Started 2372
2017-01-24 09:48:47 - WaitForProcessToExit 3960+2372
2017-01-24 09:51:26 - Finished nginx
2017-01-24 09:53:13 - Starting D:\soft\nginx-1.10.2\nginx.exe -p D:\soft\nginx-1.10.2
2017-01-24 09:53:13 - Started 3544
2017-01-24 09:53:34 - Stopping nginx
2017-01-24 09:53:35 - Started 1996
2017-01-24 09:53:35 - WaitForProcessToExit 3544+1996
2017-01-24 09:53:35 - Finished nginx
2017-01-24 09:55:27 - Starting D:\soft\nginx-1.10.2\nginx.exe -p D:\soft\nginx-1.10.2
2017-01-24 09:55:27 - Started 1516
再反查nginx的启动参数“-p”,主要是指明nginx启动时的配置目录。我第一次配置时,没有把-p参数加在xml的“startargument”中,导致nginx启动时报错了,后来加上后,就解决了问题,从中又学到了知识。
另外查了下wrapper这个词典,是
我理解的在计算机的引申义是把所有的服务都“打包”好,
然后在?t=b&w=Windows%20Service%20Wrapper
找到许多干货,原来java也需要进行“wrapper”打包的。
记一次在win2008下添加nginx自启动服务的操作