Ngnix在Windows下的安装及环境配置(将nginx作为服务运行)
首先也是重要的一个步骤,在Windows环境下如何安装Ngnix服务呢?
前往http://nginx.org/en/download.html 下载合适的版本, 当然推荐的使用MainLine版本,下载好之后,解压后双击Ngnix.exe 即可运行了(默认为80端口),若你已经在Windows服务器上部署了IIS,一定要记得修改默认端口,否则会有冲突。
如一切正常的话,访问本地的地址+端口号你会看到这样的界面:
此时并不能认为万事大吉,由于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:SoftNginxnginx-1.9.15nginx-1.9.15nginx.exe</executable> <logpath>D:SoftLog</logpath> <logmode>roll</logmode> <depend></depend> <startargument>-p D:SoftNginxnginx-1.9.15nginx-1.9.15</startargument> <stopargument>-p D:SoftNginxnginx-1.9.15nginx-1.9.15 -s stop</stopargument> </service>
根据你的需要,修改executable,logpath,startargument,stopargument的配置。
接着cmd到你的winsw.exe目录下,执行winsw.exe install命令(卸载的话,请使用winsw.exe uninstall).
一切顺利的情况下,请你会看到你的Ngnix服务出现在服务列表中,此时启动服务,可以看到上图的欢迎信息了,这时候才可以认为你的Ngnix安装成功了,接下来可以去使用它了。