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的使用配置。
nginx Windows服务形式运行的更多相关文章
- [转帖]以Windows服务方式运行ASP.NET Core程序
以Windows服务方式运行ASP.NET Core程序 原作者blog: https://www.cnblogs.com/guogangj/p/9198031.htmlaspnet的blog 需要持 ...
- 连表查询都用Left Join吧 以Windows服务方式运行.NET Core程序 HTTP和HTTPS的区别 ASP.NET SignalR介绍 asp.net—WebApi跨域 asp.net—自定义轻量级ORM C#之23中设计模式
连表查询都用Left Join吧 最近看同事的代码,SQL连表查询的时候很多时候用的是Inner Join,而我觉得对我们的业务而言,99.9%都应该使用Left Join(还有0.1%我不知道在 ...
- 安装redis以windows服务形式
安装redis以windows服务形式 安装redis以windows服务形式 redis windows windows 服务 以前跑redis,老是要开一个命令行窗口,一旦关闭,redis服务就挂 ...
- 以Windows服务方式运行.NET Core程序
在之前一篇博客<以Windows服务方式运行ASP.NET Core程序>中我讲述了如何把ASP.NET Core程序作为Windows服务运行的方法,而今,我们又遇到了新的问题,那就是: ...
- [转帖]以Windows服务方式运行.NET Core程序
以Windows服务方式运行.NET Core程序 原作者blog:https://www.cnblogs.com/guogangj/p/10093102.html 里面使用了NSSM 工具 但是自己 ...
- mpush 服务端配置 for windows 服务自动运行
mpush 服务端配置 以下安装部分是参照官方的步骤, 一.安装jdk1.8并配置环境变量 示例: http://www.cnblogs.com/endv/p/6439860.html 二.Wind ...
- 安装Nginx作为Windows服务自启动运行
如果Nginx每次使用都需要手动启动确实很麻烦,所以最好将其设置为Windows系统服务,开机自启动就行了. 1.下载并修改运行环境支持程序 1).下载地址:http://ng-srvinst.att ...
- 以Windows服务方式运行ASP.NET Core程序
我们对ASP.NET Core的使用已经进行了相当一段时间了,大多数时候,我们的Web程序都是发布到Linux主机上的,当然了,偶尔也有需求要发布到Windows主机上,这样问题就来了,难道直接以控制 ...
- 以Windows服务方式运行ASP.NET Core程序【转载】
我们对ASP.NET Core的使用已经进行了相当一段时间了,大多数时候,我们的Web程序都是发布到Linux主机上的,当然了,偶尔也有需求要发布到Windows主机上,这样问题就来了,难道直接以控制 ...
随机推荐
- modelsim无法识别include文件的解决方法
modelsim发现include关联的文件编译报语法错误,文件名需要写绝对路径,即使这个文件和工程其它文件在一个目录上.例如只写成 `include "c0_ddr3_model_para ...
- JS Encode and Decode URL
1.Encode URL String var url = $(location).attr('href'); //get current url //OR var url = 'folder/ind ...
- generator class 的含义
native有天生的,本土的,也就是说生来就有的, 那也就是说自动生成,不需要人工来帮忙或者管控的. 而assigned是指指定的,分配的, 如果你不赋予他甚麼东西,那麼他是不能实现的. 需要人工,自 ...
- js的form基础知识点
在HTML 中,表单是由<form>元素来表示的,而在JavaScript 中,表单对应的则是HTMLForm-Element 类型.HTMLFormElement 继承了HTMLElem ...
- Div+CSS命名规范
注意事项:1.命名遵循驼峰式 2.尽量用中文 3.不加中杠和下划线 4.尽量不缩写,除非一看就明白的单词 头:header 标志:logo 友情链接:friendlink 内容:c ...
- Android ContentProvider介绍
在Android中数据的存储一共有五种形式,分别是:Shared Preferences.网络存储.文件存储,外储存储.SQLite.但是我们知道一般这些存储都只是在单独的一个应用程序之中达到一个数据 ...
- sandy bridge
SANDY BRIDGE SPANS GENERATIONS Intel Focuses on Graphics, Multimedia in New Processor Design By Li ...
- js分秒必争
将函数和对象合写在一起时,函数就变成了“方法”(method): //当函数赋值给对象的属性,我们称之为 //方法.所有的JavaScript的对象都含有方法 var a=[]; //创 ...
- Phpstorm 设置取消自动保存
个人通过使用,发现PhpStorm的确是 编辑PHP 的神器,提供用户效率,提供智能代码补全,快速导航以及即时错误检查. 不过,让我用起来不爽的是,它会自动保存,还不能使用快捷键Ctr+Z来撤销,也就 ...
- MySQL数据库设置远程访问权限方法总结
1,设置访问单个数据库权限 mysql>grant all privileges on test.* to 'root'@'%'; 说明:设置用户名为root,密码为空,可访问数据库test 2 ...