├── README.md ├── bin ├── PsExec.exe ├── nginx.txt ├── rolllog.vbs ├── start.bat └── winsw1.9.exe └── test ├── 1.jpg ├── 2.jpg ├── 3.jpg ├── 4.jpg ├── 5.jpg └── 6.jpg /README.md: -------------------------------------------------------------------------------- 1 | # 本工具用于Nginx Windows版的服务安装和管理 2 | 3 | xiangyuecn编写,学习nginx之用,还没弄懂怎么配置nginx,先把安装问题先解决了,不然服务器一注销nginx也自动关掉了,首次使用于2014-02-20。 4 | 5 | 2019-4-18 服务目前依然可以稳定的运行在 win7、win10、server 2012 开发环境中。 6 | 7 | ### 使用方法 8 | 9 | 1. 把bin目录内的5个文件复制到nginx根目录下(和nginx.exe同一目录,参考图1),nginx.txt为可选的配置模板文件。 10 | 11 | 2. 运行start.bat进行安装/卸载Windows服务、管理服务运行/停止/重启、更新配置、重新加载配置。 12 | 13 | 14 | 15 | # 关于bin目录5个文件说明 16 | 17 | #### start.bat 18 | 主脚本,对nginx服务管理每次都运行这个脚本即可完成轻松管理;如果需要调整服务名称和配置文件名称,更改此文件即可,下面有专门介绍。 19 | 20 | #### rolllog.vbs 21 | 配置模板文件格式处理、日期替换更新脚本 22 | 23 | #### winsw1.9.exe 24 | windows服务安装器,用于把nginx安装为系统服务,下载地址:http://central.maven.org/maven2/com/sun/winsw/winsw/1.9/ ,配置介绍:https://github.com/kohsuke/winsw/blob/master/doc/xmlConfigFile.md 。 25 | 26 | #### PsExec.exe 27 | 用system用户身份运行start.bat;双击打开start.bat时的身份默认时Admin,此时并不能管理system身份的nginx;start.bat会通过PsExec.exe跳转一次执行,用户身份就变成了system。 28 | 29 | #### nginx.txt 30 | 配置模板文件,支持任意格式重复内容只需定义一次,任何地方引用替换,大大简化重复配置的编写;此文件不提供不影响使用。 31 | 32 | 33 | # 关于start.bat 34 | 35 | 文件内`配置部分`可以调整: 36 | 1. 对于nginx.txt模板文件并非一定要放到根目录,可以放到其他地方,通过修改nginxTxt定义,指向配置模板文件。 37 | 2. 配置文件名称通过confPath指定,默认为conf/nginx.conf,如果需要改成别的文件名,修改即可。 38 | 3. 服务名称通过svs修改,默认为Nginx;***服务安装后默认为本地系统账户,如需更改请到服务管理里面更改账户***。 39 | 40 | 服务安装运行后,winsw会产生3个log文件(参考图1),可以删除,winsw1.9.xml文件不可删除,否则无法卸载和启动。 41 | 42 | 43 | # 关于nginx.txt 44 | 45 | 此文件内容可以和nginx配置文件内容完全一致,也可以使用扩充语法,省去那些不适合手动编辑的场景。 46 | 47 | #### {y}、{m}、{d}、{h}、{M}、{s} 48 | 当前时间日期变量 49 | 比如log路径可以动态生成: 50 | ``` 51 | logs/access_{y}{m}{d}.log //logs/access_20101229.log 52 | ``` 53 | 54 | #### 内容支持宏定义和替换 55 | 定义:`DEF(标识) 宏名称=宏内容 (标识)END`,宏名称支持&、<、>、/、_、-、空格、换行、字母、数字、文字组合,宏内容可以多行。 56 | 使用:在需要替换的地方写上宏名称即可。 57 | ``` 58 | DEF =\.(?:png|js|css|ttf|woff|eot|svg|xml|html|jpg|gif|swf)$ END 59 | 60 | location ~*^/static/.* {} 61 | location ~* {} 62 | ``` 63 | ``` 64 | DEF =ssl_certificate xx.crt; 65 | ssl_certificate_key xx.key; END 66 | 67 | ... 68 | listen 80; 69 | listen 443 ssl; 70 | 71 | ... 72 | ``` 73 | 74 | 75 | 76 | # 图例 77 | 78 | 文件组成: 79 | 80 | ![图1](test/1.jpg) 81 | 82 | 安装服务: 83 | 84 | ![图2](test/2.jpg) 85 | 86 | 服务管理: 87 | 88 | ![图3](test/3.jpg) 89 | 90 | 已安装服务: 91 | 92 | ![图4](test/4.jpg) 93 | 94 | system进程: 95 | 96 | ![图5](test/5.jpg) 97 | 98 | nginx进程: 99 | 100 | ![图6](test/6.jpg) -------------------------------------------------------------------------------- /bin/PsExec.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xiangyuecn/Nginx-Windows-Service-Manager/1c5cce98026240bbc78d022d1c5ad368eddbe158/bin/PsExec.exe -------------------------------------------------------------------------------- /bin/nginx.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xiangyuecn/Nginx-Windows-Service-Manager/1c5cce98026240bbc78d022d1c5ad368eddbe158/bin/nginx.txt -------------------------------------------------------------------------------- /bin/rolllog.vbs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xiangyuecn/Nginx-Windows-Service-Manager/1c5cce98026240bbc78d022d1c5ad368eddbe158/bin/rolllog.vbs -------------------------------------------------------------------------------- /bin/start.bat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xiangyuecn/Nginx-Windows-Service-Manager/1c5cce98026240bbc78d022d1c5ad368eddbe158/bin/start.bat -------------------------------------------------------------------------------- /bin/winsw1.9.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xiangyuecn/Nginx-Windows-Service-Manager/1c5cce98026240bbc78d022d1c5ad368eddbe158/bin/winsw1.9.exe -------------------------------------------------------------------------------- /test/1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xiangyuecn/Nginx-Windows-Service-Manager/1c5cce98026240bbc78d022d1c5ad368eddbe158/test/1.jpg -------------------------------------------------------------------------------- /test/2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xiangyuecn/Nginx-Windows-Service-Manager/1c5cce98026240bbc78d022d1c5ad368eddbe158/test/2.jpg -------------------------------------------------------------------------------- /test/3.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xiangyuecn/Nginx-Windows-Service-Manager/1c5cce98026240bbc78d022d1c5ad368eddbe158/test/3.jpg -------------------------------------------------------------------------------- /test/4.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xiangyuecn/Nginx-Windows-Service-Manager/1c5cce98026240bbc78d022d1c5ad368eddbe158/test/4.jpg -------------------------------------------------------------------------------- /test/5.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xiangyuecn/Nginx-Windows-Service-Manager/1c5cce98026240bbc78d022d1c5ad368eddbe158/test/5.jpg -------------------------------------------------------------------------------- /test/6.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xiangyuecn/Nginx-Windows-Service-Manager/1c5cce98026240bbc78d022d1c5ad368eddbe158/test/6.jpg --------------------------------------------------------------------------------