Nginx注册为Windows系统服务
nginx可以运行在linux和windows系统上,在linux环境下可以写一个service脚本,然后通过chkconfig命令加入开机启动,如果是windows环境呢?nginx作为服务器端常驻进程,需要在系统启动的时候自动拉起。本文主要记录在windows下把nginx注册为系统服务,实现随着系统的启动而启动。
一.准备nginx环境
-
下载nginx zip包,下载连接
-
解压zip包,将nginx目录复制到指定的文件夹,本示例路径为K:\nginx-1.16.1。
-
cmd进入nginx根目录,执行start nginx.exe命令,主要是看nginx能否正常启动,命令执行成功后在浏览器输入http://127.0.0.1看到如下提示说明服务正常运行。
-
本例nginx配置不做任何修改,主要是演示注册为windows服务的过程。
二.下载WinSW
- 借助winsw将nginx应用注册为服务,winsw下载地址
- 根据系统选择下载版本,本例下载64位的。下载的软件是WinSW.NETCore.x64.exe
- 将下载的winsw复制到nginx根目录,并重命名为nginx_service.exe。
- 在复制的winsw的目录下创建一个与nginx_service同名的xml配置文件,如nginx_service.xml。目录如下图。
- 配置nginx_service.xml
<server>
<id>nginx</id>
<name>Nginx Service</name>
<description>Nginx Service</description>
<logpath>K:\nginx-1.16.1\logs</logpath>
<logmode>roll</logmode>
<executable>K:\nginx-1.16.1\nginx.exe</executable>
<startarguments></startarguments>
<stoparguments>-s stop</stoparguments>
</server>
三.注册服务
- cmd命令进入nginx根目录,执行服务注册命令
nginx_service.exe install
出现如下提示,说明服务注册成功
K:\nginx-1.16.1>nginx_service.exe install
23:08:58,062 - Installing service 'Nginx Service (nginx1)'...
23:08:58,472 - Service 'Nginx Service (nginx1)' was installed successfully.
K:\nginx-1.16.1>
在windows服务控制台可以看到注册的nginx服务
服务启动后可以在进程管理器里面看到nginx进程,可以通过页面访问。
- 移除服务
nginx_service.exe uninstall
K:\nginx-1.16.1>nginx_service.exe uninstall
23:08:47,766 - Uninstalling service 'Nginx Service (nginx1)'...
23:08:48,155 - Service 'Nginx Service (nginx1)' was uninstalled successfully.
K:\nginx-1.16.1>
winsw不只能把nginx注册为系统服务,也可以把其他的应用如springboot打的jar包注册成服务。