Nginx 安装成 Windows 服务
Nginx 安装成Windows 服务方法,具体方法如下
1. 下载nginx windows版本 http://www.nginx.org
2. 下载微软的2个工具: instsrv.exe、srvany.exe
去微软网站下载安装Windows Server 2003 Resource Kit Tools(rktools.exe),它包括标题提及的所有必要的工具,下载完安装好。
3. 运行命令 在rktools安装目录下(一般在C:\Program Files\Windows Resource Kits\Tools目录)可以发现这两个程序.
在运行下面命令之前,确保将srvany.exe复制到nginx的安装(解压)目录下,然后运行: instsrv Nginx D:\nginx-1.5.6\srvany.exe 这样就安装了一个名为Nginx的服务。
也就是将srvany.exe注册成一个服务Nginx。Net start Nginx时,肯定会运行srvany.exe。
4. 配置Nginx的运行参数:目的是运行srvany.exe时,附带运行D:\nginx-1.5.6\nginx.exe程序。 可以直接将配置导入到注册表 Window register代码
Windows Registry Editor Version 5.00 [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\NGINX\Parameters] "Application"="D:\\nginx-1.5.6\\nginx.exe" "AppParameters"="" "AppDirectory"="D:\\nginx-1.5.6\\"
现在就可以通过控制面板->管理员工具->服务中找到该服务,并启动和停止了。 但是,当停止Nginix服务后,访问浏览器仍然能看到网站。查看进程,你会发现,Nginx启动了两个nginx进程(根据nginx.conf的配置 worker_processes 1;),Fork出来的进程显然没有被停止,结果就是nginx永远关不掉。因此彻底关闭nginx请使用taskkill命令: taskkill /F /IM nginx.exe > nul 结果是写一个stop_nginx脚本来处理nginx停止的所有操作
@echo off echo Stopping nginx service... net stop nginx echo Kill nginx process... taskkill /F /IM nginx.exe > nul
顺便,如果想删除服务,使用命令: sc delete Nginx