Nginx 在windows下注册系统服务

编程知识 更新时间:2023-04-21 04:48:27

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

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

1.工具下载地址:http://pan.baidu/s/1kVPecCJ


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


3.新建一个文本文档内容如下:(里面的路径根据自己的情况修改)

<service>  
 <id>nginx</id>  
 <name>nginx</name>  
 <description>nginx</description>  
 <executable>D:\web_project\nginx-1.9.5\nginx.exe</executable>  
 <logpath>D:\web_project\nginx-1.9.5\logs</logpath>  
 <logmode>roll</logmode>  
 <depend></depend>  
 <startargument>-p D:\web_project\nginx-1.9.5</startargument>  
 <stopargument>-p D:\web_project\nginx-1.9.5 -s stop</stopargument>  
</service>  
保存为myapp.xml文件,同样放到您想目录下。


4.运行cmd执行如下命令:(路径根据自己的情况修改)

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


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


第二种是  instsrv / servany 方式。


1.工具下载地:http://eastedu.bl-changjiang/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命令来清理掉所有进程,才能彻底关掉。而第一种不会出现这样的问题。

更多推荐

Nginx 在windows下注册系统服务

本文发布于:2023-04-16 08:38:00,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/7dfecb8739cc7a0dcc421e749e320795.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:系统   Nginx   windows

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!

  • 80399文章数
  • 429阅读数
  • 0评论数