Nginx 在windows下注册系统服务

Nginx 在windows下注册系统服务

转自:https://blog.csdn.net/liberalliushahe/article/details/80222192html

 在windows服务器上运行了nginx,那么确定会面临一个问题,那就是重启了怎么办,网站访问不了,每次手动启动很麻烦。然而nginx做为linux的一款软件,在windows下面注册成服务仍是比较麻烦的,参考了网上的资料,现目前无外乎有两种方式。

第一种是使用Windows Service Wrapper(强烈推荐,缘由在本文最下面)

1.工具下载地址:http://pan.baidu.com/s/1kVPecCJ(文件取消)linux

新提供下载路径:https://github.com/kohsuke/winsw/releasesnginx

2.解压后将最新的1.9版本重命名为“myapp.exe”  并将其放到nginx目录下git

 

3.新建一个文本文档内容以下:(里面的路径根据本身的状况修改)github

[html] view plain copyweb

  1. <service>    
  2.  <id>nginx</id>    
  3.  <name>nginx</name>    
  4.  <description>nginx</description>    
  5.  <executable>D:\web_project\nginx-1.9.5\nginx.exe</executable>    
  6.  <logpath>D:\web_project\nginx-1.9.5\logs</logpath>    
  7.  <logmode>roll</logmode>    
  8.  <depend></depend>    
  9.  <startargument>-p D:\web_project\nginx-1.9.5</startargument>    
  10.  <stopargument>-p D:\web_project\nginx-1.9.5 -s stop</stopargument>    
  11. </service>    

保存为myapp.xml文件,一样放到您想目录下。windows

 

 

4.运行cmd执行以下命令:(路径根据本身的状况修改)服务器

D:\web_project\nginx-1.9.5\myapp.exe installapp

 

5.进入系统服务就能看见 nginx了。(完成)  工具

 

 

第二种是  instsrv / servany 方式。

 

1.工具下载地:http://eastedu.bl-changjiang.com/UploadFiles/2006-5/511179043.rar

 

2.解压后把srvany.exe复制到nginx目录下

 

3.运行cmd切换路径到nginx目录下,并执行下面的命令:

instsrv Nginx c:\nginx\srvany.exe

 

4.在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

 

 

 

推荐第一种的缘由:若是采用第二种方式,启动服务后,nginx会建立两个进程,当中止服务时,还有一个进程没有关闭。这就是不少人遇到的关闭服务后,任然能够访问网站。此时必须使用 taskkill /F /IM nginx.exe > nul命令来清理掉全部进程,才能完全关掉。而第一种不会出现这样的问题。