用 nssm 把 Nginx 安装成 Windows 服务方法

时间:2021-09-15 08:31:22

总之:用 nssm 比 srvany.exe 简便多了。

1. 下载nginx windows版本
:http://nginx.org/ 

2. 下载 nssm :http://nssm.cc/

3. 安装
Nginx下载解压到一个目录,nssm下载后解压相应版本(32/64)到一个目录。
然后安装服务:
nssm install N1 "D:\N1\nginx.exe" 
即可安装成功最基本的服务,不过启动的是nssm,让后由nssm启动nginx。

现在就可以通过控制面板->管理员工具->服务中找到该服务,并启动和停止了。当然,net start 和 net stop也是可以的。 
但是,当停止服务后,会发现网站仍在正常运转。查看进程会发现还有一个nginx进程存在。原来,nginx启动了两个nginx进程(根据nginx.conf的配置worker_processes  1;),一个监控进程,一个工作进程。显然,停止的是监控进程,而工作进程没停,结果就是nginx仍在运行。因此彻底关闭nginx就需要别的手段,如任务管理器或者使用taskkill命令: 
taskkill /F /IM nginx.exe > nul  
当然,可以写一个脚本来处理nginx停止的所有操作:
@echo off  
echo Stopping nginx service...  
net stop N1  
echo Kill nginx process...  
taskkill /F /IM nginx.exe > nul  

想删除服务:  
sc delete Nginx  

使用windows服务是为了:系统重启时,不用用户登录,可以自己在后台启动;在用户退出登陆后,仍然可以运行。这也是我们费时费力安装为windows服务的原因。