25
2021
06
15:32:19

Windows Service Wrapper将nginx变成Windows服务

很多三方小程序都没有提供将自身注册为Windows标准服务的方法,但是通过Windows Service Wrapper即可达到目的


一、下载地址


官方主页:https://github.com/kohsuke/winsw/


下载地址:https://github.com/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


<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




推荐本站淘宝优惠价购买喜欢的宝贝:

image.png

本文链接:https://hqyman.cn/post/1779.html 非本站原创文章欢迎转载,原创文章需保留本站地址!

分享到:
打赏





休息一下~~


« 上一篇 下一篇 »

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

请先 登录 再评论,若不是会员请先 注册

您的IP地址是: