Windows下让nginx以服务的方式启动运行


在windows下安装了nginx, 郁闷是发现它没有以服务方式运行, 也就是说当用户注销后,程序会终止.因此需要将nginx作为服务运行.

方法一:

假设nginx安装在c:\nginx\下:

1.下载微软服务注册工具srvany.exe, instsrv.exe, 存放到c:\nginx\目录下
http://eastedu.bl-changjiang.com/UploadFiles/2006-5/511179043.rar

2.安装NGINX服务, 将命令行切换到c:\nginx\,执行下列命令
instsrv NGINX c:\nginx\srvany.exe

3.在c:\nginx\下,编辑一个nginx.reg文件
Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\NGINX\Parameters]
"Application"="C:\\nginx\\nginx.exe"
"AppParameters"=""
"AppDirectory"="C:\\nginx\\"

5.让服务与程序关联起来, 命令行执行
regedit /s nginx.reg

6.编辑启动nginx脚本start-nginx.bat(关闭脚本不用变), 让程序以服务方式运行
@ECHO OFF
net stop nginx
net start nginx
EXIT

注意:以上方法仅适用于0.7.33以下版本,nginx从0.7.33更新到0.7.50后,重新编译得到新的nginx.exe,就不能通过这个服务启动了,但通过c:\nginx\nginx.exe仍能正常启动,所以,我们就需要使用方法二来解决。

方法二:

后来,Nginx官方推出win32版,烈火网整理了一个附件,可以让Nginx继续以服务的形式启动,点击下载附件

相关内容