欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  网络运营

Ngnix在Windows下的安装及环境配置(将nginx作为服务运行)

程序员文章站 2023-01-26 16:50:02
首先也是重要的一个步骤,在windows环境下如何安装ngnix服务呢? 前往http://nginx.org/en/download.html  下...

首先也是重要的一个步骤,在windows环境下如何安装ngnix服务呢?

前往http://nginx.org/en/download.html  下载合适的版本, 当然推荐的使用mainline版本,下载好之后,解压后双击ngnix.exe 即可运行了(默认为80端口),若你已经在windows服务器上部署了iis,一定要记得修改默认端口,否则会有冲突。

如一切正常的话,访问本地的地址+端口号你会看到这样的界面:

Ngnix在Windows下的安装及环境配置(将nginx作为服务运行)

此时并不能认为万事大吉,由于windows服务器环境下,仅仅以进程的方式去run一个服务,首先会被认为这种方式是不stable的,其次,如果进程被回收或崩溃掉,难以去找到相关的日志和错误信息,为调试带来麻烦,所以我们倾向于将进程包装为windows服务,这样会拥有更好的健壮性。

但默认的ngnix并不支持windows服务(原因在引言中已经阐述,ngnix for windows仅仅被认为是一个测试版本),我们只有退而求其次也找一些其他的方式来安装ngnix为windows服务。

常见的方法有instsrv/servany、firedaemon等方式,但是这些方法都有各自的问题,例如instsrv/servany会在服务重启,停止/启动时产生一个新的ngnix.exe进程。firedaemon在启动后,默认会带来一个次级进程,这些原因和背景已经在defonds的博客中已经有详细的说明了。

因此我们建议使用windows service wrapper来安装ngnix服务,这是github上的一个开源项目,他可以将任何exe,bat等文件安装为windows服务,你也可以在github上下载他的源码。

由于需要*等原因,未必每个人都可以下载到二进制版本,这里提供一个便捷下载。(1.9版本)

好下载完成后,干掉你原来在跑的ngnix进程,将winsw.exe更改为任意名称并创建一个xml文件作为配置,当然名称要与exe名称保持一致

配置代码如下:

<service> 
 <id>nginx</id> 
 <name>nginx</name> 
 <description>nginx</description> 
 <executable>d:\soft\nginx\nginx-1.9.15\nginx-1.9.15\nginx.exe</executable> 
 <logpath>d:\soft\log\</logpath> 
 <logmode>roll</logmode> 
 <depend></depend> 
 <startargument>-p d:\soft\nginx\nginx-1.9.15\nginx-1.9.15</startargument> 
 <stopargument>-p d:\soft\nginx\nginx-1.9.15\nginx-1.9.15 -s stop</stopargument> 
</service> 

根据你的需要,修改executable,logpath,startargument,stopargument的配置。 

接着cmd到你的winsw.exe目录下,执行winsw.exe install命令(卸载的话,请使用winsw.exe uninstall).

一切顺利的情况下,请你会看到你的ngnix服务出现在服务列表中,此时启动服务,可以看到上图的欢迎信息了,这时候才可以认为你的ngnix安装成功了,接下来可以去使用它了。