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主机上,这样问题就来了,难道直接以控制 ...
随机推荐
- Android之ProgressBar
今天复习一下以前的知识,补充一下ProgressBar控件 progressBar是进度条组件,通常用于用户展示某个耗时操作完成的进度,而不让用户感觉是程序失去了响应,从而更好地提升用户界面的友好性. ...
- Storyboard中segue(转场)使用
源引:http://www.2cto.com/kf/201210/161737.html 一.视图切换类型介绍在storyboard中,segue有几种不同的类型,在iphone和ipad的开发中,s ...
- Ubuntu 杂音 alsa*
$ sudo alsactl init # 初始化 $ sudo alsactl store # 存储状态 会调的话可以 $ alsamixer
- Pow 算法
#include <iostream> using namespace std; template<class T, class Int> T Pow(T x, Int n) ...
- C++基础-01
指针 - 指针的基本操作间接引用指针所指向的对象 - 机器一般按字节寻址,所以能够独立分配的最小空间是1字节,也就是说指针指向的 最小空间为1字节.特别地,对于bool变量,虽然实际需要的是1bit, ...
- 使用NSScanner,将十六进制字符串转十进制
例子: NSString * numStr = [@"0x110" substringFromIndex:2]; unsigned long long result = 0; N ...
- 关于 Netty Channel 的 Autoread
Netty 4 的 Channel 多了一个 autoread 参数, 它的用处是在让 channel 在触发某些事件以后(例如 channelActive, channelReadComplete) ...
- spring boot分布式技术,spring cloud,负载均衡,配置管理器
spring boot分布式的实现,使用spring cloud技术. 下边是我理解的spring cloud的核心技术: 1.配置服务器 2.注册发现服务器eureka(spring boot默认使 ...
- 【redis】redis 在 windows 下安装使用
1.安装 windows 下 redis 可用客户端 : http://redisdesktop.com/download ; 或在 github 上下载 redis zip 包,解压包到某个目录并在 ...
- effetive C++ 02 尽量以const,enum,inline替换#define
#define ASPECT_RATIO=1.1const double AspectRatio=1.1 1. 使用宏会导致预处理器把程序代码中的ASPECT_RATIO无条件替换为1.1,编译器从未 ...