以前研究过负载均衡,最近正在项目上实施(从来没做过小项目以上级别的东西,哈),nginx挺好,不过Windows有点为难,小流量和本地不追求性能,简单易用是目标。

Nginx Windows上并没有提供安装为服务的方式,Windows Service多好用啊,开机自动运行。因此有了此工具,地址:https://github.com/xiangyuecn/Nginx-Windows-Service-Manager

copy之前说点什么

一个入口,管理nginx的启动、关闭、重启、重新加载配置、扩展配置格式,够简单了么,相对于我这个懒人是够了。

以下内容copy自README

本工具用于Nginx Windows版的服务安装和管理

xiangyuecn编写,学习nginx之用,还没弄懂怎么配置nginx,先把安装问题先解决了,不然服务器一注销nginx也自动关掉了,首次使用于2014-02-20。

使用方法

  1. 把bin目录内的5个文件复制到nginx根目录下(和nginx.exe同一目录,参考图1),nginx.txt为可选的配置模板文件。

  2. 运行start.bat进行安装/卸载Windows服务、管理服务运行/停止/重启、更新配置、重新加载配置。

关于bin目录5个文件说明

start.bat

主脚本,对nginx服务管理每次都运行这个脚本即可完成轻松管理;如果需要调整服务名称和配置文件名称,更改此文件即可,下面有专门介绍。

rolllog.vbs

配置模板文件格式处理、日期替换更新脚本

winsw1.9.exe

windows服务安装器,用于把nginx安装为系统服务,下载地址:http://central.maven.org/maven2/com/sun/winsw/winsw/1.9/ 配置介绍:https://github.com/kohsuke/winsw/blob/master/doc/xmlConfigFile.md

PsExec.exe

用system用户身份运行start.bat;双击打开start.bat时的身份默认时Admin,此时并不能管理system身份的nginx;start.bat会通过PsExec.exe跳转一次执行,用户身份就变成了system。

nginx.txt

配置模板文件,支持任意格式重复内容只需定义一次,任何地方引用替换,大大简化重复配置的编写;此文件不提供不影响使用。

关于start.bat

文件内配置部分可以调整:

  1. 对于nginx.txt模板文件并非一定要放到根目录,可以放到其他地方,通过修改nginxTxt定义,指向配置模板文件。
  2. 配置文件名称通过confPath指定,默认为conf/nginx.conf,如果需要改成别的文件名,修改即可。
  3. 服务名称通过svs修改,默认为Nginx。

服务安装运行后,winsw会产生3个log文件(参考图1),可以删除,winsw1.9.xml文件不可删除,否则无法卸载和启动。

关于nginx.txt

此文件内容可以和nginx配置文件内容完全一致,也可以使用扩充语法,省去那些不适合手动编辑的场景。

{y}、{m}、{d}、{h}、{M}、{s}

当前时间日期变量

比如log路径可以动态生成:

logs/access_{y}{m}{d}.log //logs/access_20101229.log

内容支持宏定义和替换

定义:DEF(标识) 宏名称=宏内容 (标识)END,宏名称支持&、<、>、/、_、-、空格、换行、字母、数字、文字组合,宏内容可以多行。

使用:在需要替换的地方写上宏名称即可。

DEF <StaticExp>=\.(?:png|js|css|ttf|woff|eot|svg|xml|html|jpg|gif|swf)$ END

location ~*^/static/.*<StaticExp> {}
location ~*<StaticExp> {}
DEF <Crt>=ssl_certificate xx.crt;
ssl_certificate_key xx.key; END ...
listen 80;
listen 443 ssl;
<Crt>
...

图例

文件组成:

安装服务:

服务管理:

已安装服务:

system进程:

nginx进程:

Nginx Windows版的服务安装和管理工具的更多相关文章

  1. Zookeeper Windows版的服务安装和管理工具

    以前研究过负载均衡,最近正在项目上实施(从来没做过小项目以上级别的东西,哈).然后遇到了多个一模一样但是同时运行的服务.不同服务但依赖同相同的配置数据(前端网页服务:Nginx+IIS+nodejs. ...

  2. Scoop Windows 的命令行安装程序管理工具

    传送门: # 官网 http://scoop.sh/ # github https://github.com/lukesampson/scoop window中快速安装: 必须使用powershell ...

  3. windows版mysql8.0安装详解

    2018年07月04日 13:37:40 Zn昕 阅读数 6433更多 分类专栏: mysql   版权声明:本文为博主原创文章,遵循CC 4.0 by-sa版权协议,转载请附上原文出处链接和本声明. ...

  4. 关于ubuntu服务器上部署postgresql 以及安装pgadmin4管理工具(web版)

    进入目录:cd pgadmin4   source bin/activate     cd pgadmin4-1.6/ 启动pgadmin4:python web/pgAdmin4.py pgadmi ...

  5. 安装docker管理工具rancher

    http://blog.csdn.net/freewebsys/article/details/51136562 docker(2):安装docker管理工具rancher rancher是一个Doc ...

  6. 基于Tcp穿越的Windows远程桌面(远程桌面管理工具)

    基于Tcp穿越的Windows远程桌面(远程桌面管理工具) 1.<C# WinForm 跨线程访问控件(实用简洁写法)>            2.<基于.NET环境,C#语言 实现 ...

  7. Java基础-Eclipse第三方安装包管理工具之Maven

    Java基础-Eclipse第三方安装包管理工具之Maven 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 玩过Linux的小伙伴应该都知道yum吧,我们只要把搭建好的yum仓库配 ...

  8. 基于windows的Redis后台服务安装卸载管理

    首先,需要你进入你的Redis解压根目录,例如,类似于我下图的这样子: 接着打开你的cmd,使用cd命令切换到该目录,或者直接在上图的地址栏输入“cmd”并回车.这里为什么让你先使用资源管理器找到你的 ...

  9. 1.windows下GIT 服务安装

    本章介绍简单在windows 安装git 服务方法.服务器端采用的是Bonobo Git Server,一款用ASP.NET MVC开发的Git源代码管理工具,界面简洁,基于Web方式配置,简单易用. ...

随机推荐

  1. 记一次nginx php配置的心路历程

    1.本来搞好了php的配置,想把目录下移一层 从 www.abc.com 变成 www.abc.com/wxapi ,由于我的真实文件目录比路由少了一层public 尝试了很多办法都不行 甚至想到了u ...

  2. jmeter利用自身代理录制脚本

    在利用代理录制脚本时一定要安装java jdk,不然不能录制的. 没有安装过java jdk安装jmeter后打开时会提示安装jdk,但是mac系统中直接打开提示安装jdk页面后下载的java并不是j ...

  3. linux查找某段时间修改的文件的总大小

    1.统计 2017-10-25 16:30:00 至 2017-10-25 19:30:00 修改的文件的总大小 b= for i in `find -type f \( -newermt '2017 ...

  4. asp.net webapi 自定义身份验证

    /// <summary> /// 验证 /// </summary> /// Account API账号 /// TimeStamp 请求时间 /// Sign 所有请求参数 ...

  5. sql server递归

    with cte as ( select belongsAgent from [QPProxyDB].[dbo].[BS_ProxyInfo] where ProxyID = @ProxyID uni ...

  6. 选择is或者as操作符而不是做强制类型转换

    无论何时,正确选择使用as运算符进行类型转换.比盲目的强制类型转换更安全,而且在运行时效率更高. 用as和is进行转换时,并不是对所有用户定义的类型都能完成,只是在运行时类型和目标类型匹配时,转换才能 ...

  7. Cache 和 Buffer 都是缓存,主要区别是什么?【转】

    作者:Towser 链接:https://www.zhihu.com/question/26190832/answer/32387918 来源:知乎 著作权归作者所有.商业转载请联系作者获得授权,非商 ...

  8. windows任务管理器怎么知道多个IIS网站进程分别对应哪个网站

    摘要: 1.IIS网站对应的进程名一般叫w3wp.exe (windows2008系统为例,其他类似) 2.windows默认的任务管理器只能看到多个同名的进程名w3wp.exe,没法区别分别对应哪个 ...

  9. selenium+python自动化笔记之一

    一.webdriver的API与定位元素 元素定位核心部分 元素名称 webdriver API 说明 id find_element_by_id() id定位 name find_element_b ...

  10. 32_使用BeanUtils工具包操作JavaBean

      由于对属性设置值和得到值的需求很多,使用频率很高,所以有一些开源勇士 不满足于JavaBean API 中IntroSpector来操作bean, 写出来了通用的BeanUtils工具,来进一步简 ...