背景

  现在使用ngnix的人越来越多,nginx的优势劣势网上也很多说明。这里就不探讨nginx优势与劣势,每个工具都有自己优势劣势,没有最好的工具,只有最合适的工具。

    如何选择适当的工具,根据项目的需求,情况各方面综合考虑选择适当工具(相当于没说一样),不是盲目的选择。

  最怕听到现在什么什么流行,什么性能好。不顾项目情况盲目去选择。扯得有点远了,还是说回nginx。

    nginx基本上是在linux下面使用,但是平常开发不可能在linux下面,特别是net。在windows下面使用nginx其实也很方便,好像没有装服务的需要。

  用过的都知道,windows下面使用下面两个语句启动,关闭nginx

  

  每次启动执行这个语句,其实也不麻烦,但有时候修改nginx配置,还有先停止再启动,有点机械式,而且不偷懒的程序员不是好的程序员,有没有更好办法,当然是有,不然也没有这篇文章存在一样。就是把nginx做成windows服务的形式,每次自动运行,修改配置后重新启动服务,不需要nginx的时候,停止服务。

准备工具

  1. nginx (官网下载
  2. windows service wrapper 下面简称wsw  (下载

配置步骤

  1. 安装nginx (解压缩到指定目录)
  2. 安装wsw (直接下载就是exe,可以重命名也可以使用原来,为了方便我重新命名为winsw.exe,放到指定目录)
  3. 新建一个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是开源的,有兴趣可以下载看看。

  4. 以管理员身份打开一个cmd,然后打开wsw的目录
  5. 执行命令winsw.exe install
  6. 然后去服务里面就可以看到多了一个nginx的服务

  7. 启动服务,在浏览器输入localhost,看到下面界面就说明服务安装成功,nginx运行成功

nginx简单配置

  1. IIS新建两个站点

    里面也只有一个简单的index页面

  2. 修改nginx配置文件,修改两个地方
     upstream nginx {
    server 127.0.0.1:8081;
    server 127.0.0.1:8082;
    }

      location / {
       proxy_pass http://nginx/;
     }

  3. 浏览器访问localhost

    可以看到nginx交替访问两个站点,这只是最基本的nginx功能,nginx还有很多高级功能,有时间弄清楚,再写一遍nginx的使用配置。

nginx Windows服务形式运行的更多相关文章

  1. [转帖]以Windows服务方式运行ASP.NET Core程序

    以Windows服务方式运行ASP.NET Core程序 原作者blog: https://www.cnblogs.com/guogangj/p/9198031.htmlaspnet的blog 需要持 ...

  2. 连表查询都用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%我不知道在 ...

  3. 安装redis以windows服务形式

    安装redis以windows服务形式 安装redis以windows服务形式 redis windows windows 服务 以前跑redis,老是要开一个命令行窗口,一旦关闭,redis服务就挂 ...

  4. 以Windows服务方式运行.NET Core程序

    在之前一篇博客<以Windows服务方式运行ASP.NET Core程序>中我讲述了如何把ASP.NET Core程序作为Windows服务运行的方法,而今,我们又遇到了新的问题,那就是: ...

  5. [转帖]以Windows服务方式运行.NET Core程序

    以Windows服务方式运行.NET Core程序 原作者blog:https://www.cnblogs.com/guogangj/p/10093102.html 里面使用了NSSM 工具 但是自己 ...

  6. mpush 服务端配置 for windows 服务自动运行

    mpush 服务端配置 以下安装部分是参照官方的步骤, 一.安装jdk1.8并配置环境变量 示例:  http://www.cnblogs.com/endv/p/6439860.html 二.Wind ...

  7. 安装Nginx作为Windows服务自启动运行

    如果Nginx每次使用都需要手动启动确实很麻烦,所以最好将其设置为Windows系统服务,开机自启动就行了. 1.下载并修改运行环境支持程序 1).下载地址:http://ng-srvinst.att ...

  8. 以Windows服务方式运行ASP.NET Core程序

    我们对ASP.NET Core的使用已经进行了相当一段时间了,大多数时候,我们的Web程序都是发布到Linux主机上的,当然了,偶尔也有需求要发布到Windows主机上,这样问题就来了,难道直接以控制 ...

  9. 以Windows服务方式运行ASP.NET Core程序【转载】

    我们对ASP.NET Core的使用已经进行了相当一段时间了,大多数时候,我们的Web程序都是发布到Linux主机上的,当然了,偶尔也有需求要发布到Windows主机上,这样问题就来了,难道直接以控制 ...

随机推荐

  1. js鼠标经过文字滚动,移开还原

    不说别的,直接贴代码. <div class="kj-scroll" id="countrylist0" onmouseover="wPAa = ...

  2. Android笔记:如何在Fragment里使用findViewById()方法?

    在Activity中,可以直接用findViewById(int id),通过xml的id来找到对应的View. 查找官方的api,具体如下: https://developer.android.go ...

  3. Textrank算法介绍

    先说一下自动文摘的方法.自动文摘(Automatic Summarization)的方法主要有两种:Extraction和Abstraction.其中Extraction是抽取式自动文摘方法,通过提取 ...

  4. jQuery Mobile 图标

    jQuery 图标 如需在 jQuery Mobile 中向按钮添加图标,请使用 data-icon 属性: <a href="#anylink" data-role=&qu ...

  5. hibernate报错Unknown integral data type for ids : java.lang.String

    package com.model; // Generated 2016-10-27 14:02:17 by Hibernate Tools 4.3.1.Final /** * CmDept gene ...

  6. Oracle中三种循环(For、While、Loop)

    1.ORACLE中的GOTO用法 DECLARE x number; BEGIN x := 9; <<repeat_loop>> --循环点 x := x - 1; DBMS_ ...

  7. python获取路径

    #!/usr/bin/env python import os #文件所在路径(模块路径) print __file__,os.path.realpath(__file__),os.path.absp ...

  8. break continue.

    1.break与continue.这两个关键字一般放在循环的花括号里面使用.break——结束整个循环.continue——结束本次循环,进入下次循环. 2.while循环 //初始条件 while( ...

  9. Oracle数据库迁移到AWS云的方案

    当前云已经成为常态,越来越多的企业希望使用云来增加基础设施的弹性.减轻基础设施的维护压力,运维的成本等.很多企业使用云碰到的难题之一是如何将现有的应用迁移到云上,将现有应用的中间件系统.Web系统及其 ...

  10. 游标的使用之压缩数据库Log文件

    declare @databasename nvarchar(100)--定义游标以及赋值 获取所有Online的Database Namedeclare getDataBaseCursor  cur ...