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安装成服务,但不能被正常启动,无法运行。只能作罢!
经过一番查找以后,终于找到了解决办法:
这里我们需要用到一个软件:nssm,使用这个软件可以将任意可执行程序安装成服务运行。
软件下载
https://nssm.cc/release/nssm-2.24.zip
将下载的压缩包解压后得到nssm.exe。
安装nginx为服务
我们直接打开cmd执行:
nssm install nginx
在弹出的窗口中输入nginx的路径点击Install即可完成Windows服务的安装。
或者,我们可以直接使用Chocolatey这个应用商店直接安装nginx,安装后会自动注入Windows服务。
但是,当使用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
原作者:懒得勤快
原文链接: 将nginx安装为Windows服务_懒得勤快的博客_互联网分享精神