admin 管理员组文章数量: 887021
很多三方小程序都没有提供将自身注册为Windows标准服务的方法,但是通过Windows Service Wrapper即可达到目的
一、下载地址
官方主页:https://github/kohsuke/winsw/
下载地址:https://github/kohsuke/winsw/releases
二、使用示例
我们将nginx注册为Windows服务。
总之来说,Windows Service Wrapper需要新建被包装的程序的配置文件
2.0 nginx重启命令
如下:
Nginx -s stop 快速关闭Nginx,可能不保存相关信息,并迅速终止web服务。(快速退出)
Nginx -s quit 平稳关闭Nginx,保存相关信息,有安排的结束web服务。(平滑退出)
Nginx -s reload 因改变了Nginx相关配置,需要重新加载配置而重载。(重新加载配置)
Nginx -s reopen 重新打开日志文件。(重新加载日志)
2.1 重命名WinSW.NET4.exe为任意名称,比如winsw.exe
2.2 新建nginx服务配置文件
命名为winsw.xml,必须与winsw.exe重命名的文件名一致。
必须与命名后的myapp.exe放置在同一目录,内容如下:
XHTML
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | <service> <id>nginx</id> <name>nginx</name> <description>nginx</description> <executable>E:\soft\nginx-1.17.1\nginx.exe</executable> <logpath>E:\soft\nginx-1.17.1\</logpath> <logmode>roll</logmode> <depend></depend> <startargument>-p</startargument> <startargument>E:\soft\nginx-1.17.1\</startargument> <stopexecutable>E:\soft\nginx-1.17.1\nginx.exe</stopexecutable> <stopargument>-p</stopargument> <stopargument>E:\soft\nginx-1.17.1\</stopargument> <stopargument>-s</stopargument> <stopargument>stop</stopargument> </service> |
2.3注册服务
以管理员身份运行cmd,输入:E:\soft\nginx-1.17.1\winsw.exe install,回车,提示安装服务完成。
2.4卸载
以管理员身份运行cmd,输入:E:\soft\nginx-1.17.1\winsw.exe uninstall,回车,提示卸载服务完成。
2.5注意
经常通过Windows重启winSW服务,但子进程并没有关闭,导致配置不能更新(特别是修改nginx.conf)。
若碰到这种这种情况,需要使用任务管理器手动关闭nginx.exe。
2.6报错
一直报这个错FATAL - WMI Operation failure: AccessDenied
打开cmd的时候,改成 以管理员身份运行 就可以了。
三、总结
1、经过使用后发现,Windows服务内注册的服务路径不是被委托程序,而是winsw.exe。所以每一个服务封装,都必须考虑一份独立的winsw.exe,原因如此。
四、nginx常用命令
进入nginx根目录
1.启动nginx start nginx
2.停止nginx nginx -s stop (stop表示立即停止nginx,不保存相关信息)
3.停止nginx nginx -s quit (quit 表示正常退出nginx,并保存相关信息)
4.重启nginx nginx -s reload
5.查看配置是否正常 nginx -t
本文标签: Service Windows nginx Wrapper
版权声明:本文标题:Windows Service Wrapper将nginx变成Windows服务 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.freenas.com.cn/jishu/1726228184h919474.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论