nginx Windows服务形式运行
背景
现在使用ngnix的人越来越多,nginx的优势劣势网上也很多说明。这里就不探讨nginx优势与劣势,每个工具都有自己优势劣势,没有最好的工具,只有最合适的工具。
如何选择适当的工具,根据项目的需求,情况各方面综合考虑选择适当工具(相当于没说一样),不是盲目的选择。
最怕听到现在什么什么流行,什么性能好。不顾项目情况盲目去选择。扯得有点远了,还是说回nginx。
nginx基本上是在linux下面使用,但是平常开发不可能在linux下面,特别是net。在windows下面使用nginx其实也很方便,好像没有装服务的需要。
用过的都知道,windows下面使用下面两个语句启动,关闭nginx
每次启动执行这个语句,其实也不麻烦,但有时候修改nginx配置,还有先停止再启动,有点机械式,而且不偷懒的程序员不是好的程序员,有没有更好办法,当然是有,不然也没有这篇文章存在一样。就是把nginx做成windows服务的形式,每次自动运行,修改配置后重新启动服务,不需要nginx的时候,停止服务。
准备工具
配置步骤
- 安装nginx (解压缩到指定目录)
- 安装wsw (直接下载就是exe,可以重命名也可以使用原来,为了方便我重新命名为winsw.exe,放到指定目录)
- 新建一个exe名称一样的xml(我这里就是winsw.xml)
<service> <id>nginx</id> <name>nginx</name> <description>This service is nginx.</description> <logpath>D:\Program Files\winsw\logs</logpath> <executable>D:\Program Files (x86)\nginx\nginx.exe</executable> <startargument>-pD:\Program Files (x86)\nginx</startargument> <stopexecutable>D:\Program Files (x86)\nginx\nginx.exe</stopexecutable> <stopargument>-pD:\Program Files (x86)\nginx</stopargument> <stopargument>-s</stopargument> <stopargument>stop</stopargument> </service>
上面配置根据自己情况改一下。应该都好明白,这里不说明了。网上关于这个wsw的配置说明都一样,但是运行不成功,后来查看官网和源码才发现,新版本一些参数不一样了。这个wsw是开源的,有兴趣可以下载看看。
- 以管理员身份打开一个cmd,然后打开wsw的目录
- 执行命令winsw.exe install
-
然后去服务里面就可以看到多了一个nginx的服务
- 启动服务,在浏览器输入localhost,看到下面界面就说明服务安装成功,nginx运行成功
-
nginx简单配置
- IIS新建两个站点
里面也只有一个简单的index页面
- 修改nginx配置文件,修改两个地方
upstream nginx { server 127.0.0.1:8081; server 127.0.0.1:8082; }
location / {
proxy_pass http://nginx/;
} - 浏览器访问localhost
可以看到nginx交替访问两个站点,这只是最基本的nginx功能,nginx还有很多高级功能,有时间弄清楚,再写一遍nginx的使用配置。