以前研究过负载均衡, 最近正在项目上实施 (从来没做过小项目以上级别的东西, 哈),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.
使用方法
把 bin 目录内的 5 个文件复制到 nginx 根目录下 (和 nginx.exe 同一目录, 参考图 1),nginx.txt 为可选的配置模板文件.
运行 start.bat 进行安装 / 卸载 Windows 服务, 管理服务运行 / 停止 / 重启, 更新配置, 重新加载配置.
关于 bin 目录 5 个文件说明
start.bat
主脚本, 对 nginx 服务管理每次都运行这个脚本即可完成轻松管理; 如果需要调整服务名称和配置文件名称, 更改此文件即可, 下面有专门介绍.
rolllog.vbs
配置模板文件格式处理, 日期替换更新脚本
winsw1.9.exe
windows 服务安装器, 用于把 nginx 安装为系统服务, 下载地址: http://download.java.net/maven/2/com/sun/winsw/winsw/ 配置介绍: https://kenai.com/projects/winsw/pages/ConfigurationSyntax.
PsExec.exe
用 system 用户身份运行 start.bat; 双击打开 start.bat 时的身份默认时 Admin, 此时并不能管理 system 身份的 nginx;start.bat 会通过 PsExec.exe 跳转一次执行, 用户身份就变成了 system.
nginx.txt
配置模板文件, 支持任意格式重复内容只需定义一次, 任何地方引用替换, 大大简化重复配置的编写; 此文件不提供不影响使用.
关于 start.bat
文件内配置部分可以调整:
对于 nginx.txt 模板文件并非一定要放到根目录, 可以放到其他地方, 通过修改 nginxTxt 定义, 指向配置模板文件.
配置文件名称通过 confPath 指定, 默认为 conf/nginx.conf, 如果需要改成别的文件名, 修改即可.
服务名称通过 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 <Crt>=ssl_certificate xx.crt;
- ssl_certificate_key xx.key; END
- ...
- listen 80;
- listen 443 ssl;
- <Crt>
- ...
复制代码
图例
文件组成:
安装服务:
服务管理:
已安装服务:
system 进程:
nginx 进程:
来源: https://juejin.im/post/5b53e84ff265da0f6a0356d5