阳光下泡沫 发表于 2018-7-23 21:40:58

将nginx安装为Windows服务


  nginx这个服务器软件虽小,但功能强大,是开源软件,有着良好的性能,被很多个人、企业,甚至大型企业所使用!
  由于是在Windows下,所以只能双击运行,然后通过以下命令来管理:
  Nginx/Win32是运行在一个控制台程序,而非windows服务方式的。服务器方式目前还是开发尝试中,Nginx/Win32可以使用以下开关来管理它:
  Nginx -s stop   快速关闭Nginx,可能不保存相关信息,并迅速终止web服务。(快速退出)
  Nginx -s quit    平稳关闭Nginx,保存相关信息,有安排的结束web服务。(平滑退出)
  Nginx -s reload   因改变了Nginx相关配置,需要重新加载配置而重载。(重新加载配置)
  Nginx -s reopen重新打开日志文件。(重新加载日志)
  如果能把它安装成Windows服务运行,那就爽了!!在网上找了个Windows服务安装工具:srvinstw。这个工具是可以把nginx安装成服务,但不能被正常启动,无法运行。只能作罢!
  经过一番查找以后,终于找到了解决办法:
  这里我们需要用到一个软件:srvanyui,使用这个软件可以将程序安装成服务运行。
  使用微软自己的工具来将nginx安装为服务运行。微软的Windows NT Resource Kit里面有2个小工具,即:Instsrv.exe和Srvany.exe,Instsrv.exe可以给系统安装和删除服务,Srvany.exe可以让程序以服务的方式运行。srvany.exe可用于将任何EXE程序作为Windows服务运行。也就是说srvany只是其注册程序的服务外壳,这个特性对于我们来说非常实用,我们可以通过它让我们的程序以SYSTEM账户启动,或者实现随机器启动而自启动,也可以隐藏不必要的窗口,比如说控制台窗口等等。
  当然这个是命令行工具,而且还需要修改注册表,比较麻烦,那么我们就用别人的一个UI小工具来实现。
  http://pan.baidu.com/s/1mifgw4o
  把文件解压到nginx目录里,运行srvanyui.exe,点击左上角绿色的加号,然后设置好,点确定(如下图),服务就创建好了!哈哈,简单吧。
http://ww4.sinaimg.cn/large/87c01ec7gy1fspzjmporzj20gb0ho767.jpg
  但是,当使用windows服务管理器停止Nginix服务后,访问浏览器仍然能看到网站。查看进程,你会发现,Nginx的其中一个进程还在运行!nginx进程(根据nginx.conf的配置worker_processes 1;),Fork出来的进程显然没有被停止,结果就是nginx永远关不掉。因此彻底关闭nginx请使用taskkill命令!
  那么我们只好做个stop_nginx脚本来处理nginx停止的所有操作:
  @echo off
  net stop nginx
  taskkill /F /IM nginx.exe>nul

惠东不读书 发表于 2018-7-23 21:54:21

支持,楼下的跟上哈~

呜咪的天空 发表于 2018-7-25 14:49:47

为保住菊花,这个一定得回复!

curtainl0 发表于 2018-7-25 22:51:56

围观 围观 沙发在哪里!!!

冷毒士贾文和 发表于 2018-7-28 18:47:20

是爷们的娘们的都帮顶!大力支持

dfsdfeqe 发表于 2018-7-30 03:19:01

顶顶更健康

苯苯嫒 发表于 2018-7-30 03:51:02

报告!别开枪,我就是路过来看看的。。。

chenpps 发表于 2018-8-1 09:27:30

路过 帮顶 嘿嘿

jissesyan 发表于 2018-8-3 20:16:01

路过 帮顶 嘿嘿

上海皇家蓝彩宝 发表于 2018-8-8 14:01:23

顶起顶起顶起
页: [1] 2 3 4 5 6 7 8 9 10
查看完整版本: 将nginx安装为Windows服务