天天看点

window下使用是winsw将nginx注册为系统服务,开机自启动

使用 WinSW 将 nginx 注册成windows系统服务,开机自启动

今天在windows服务器部署了nginx,但是系统重启总是需要手动启动nginx,比较麻烦, 于是打算注册成系统服务,但是nginx在windows上没这个功能,需要用额外的工具进行注册。

WinSW介绍

官方介绍如下:

WinSW is an executable binary, which can be used to wrap and manage a custom process as a Windows service.

现实生活中,我们使用windows系统的电脑的时候,可能会遇到这么一种情况:想把一些应用程序添加为开机启动项。对于有图形界面的应用程序,一般不存在问题。但是如果想运行命令行应用程序,就不是那么方便了。一种笨办法就是写个bat,放到启动文件夹里,就可以开机启动了。开机之后,你就会发现,这样会一直显示着一个CMD窗口,而且这个窗口不能关,关了程序就停了。

其实Windows系统自带后台程序管理的功能,也就是我们经常用到的服务。但是Windows的服务只有程序的开发者在写程序的时候引用到这个功能,我们才能利用服务来控制程序的启动和关闭。对于一般的命令行程序来说,没办法利用服务。

WinSW下载

目前最新的发布版本为 v2.10.3

github下载:github winsw

根据系统选择下载

window下使用是winsw将nginx注册为系统服务,开机自启动

使用方法

1:将下载的WinSW.NET4.exe重命名为任意名字例如我的,install-service.exe,然后将其复制到nginx的安装目录下。

2:在nginx目录下创建install-service.xml文件,名字和你重命名的exe名字保持一致

3:install-service.xml中的内容如下,路径改为你nginx的安装路径:

<service>

 <id>nginx</id>

 <name>nginx</name>

 <description>nginx</description>

 <logpath>E:\nginx-1.15.5</logpath>

 <logmode>roll</logmode>

 <depend></depend>

  <executable>E:\nginx-1.15.5\nginx.exe</executable>

  <stopexecutable>E:\nginx-1.15.5\nginx.exe -s stop</stopexecutable>

</service>           

4:执行如下命令:

命令行工具进入到nginx安装目录下,执行命令:

1:install-service.exe install     注册系统服务命令

2: install-service.exe start         启动服务命令

3:install-service.exe status        查看服务状态命令

4: install-service.exe restart      重启服务命令

5:install-service.exe uninstall    卸载服务命令

效果如下

window下使用是winsw将nginx注册为系统服务,开机自启动

winsw其它命令

window下使用是winsw将nginx注册为系统服务,开机自启动

继续阅读