总之:用 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服务的原因。