nginx在linux下表现不用多说,在windows下nginx的表现还欠佳,但在web应用性能整体要求不高的情况下,把nginx作为一个反向和少量请求逻辑处理的应用还是很方便的。
网络上介绍的文章不少包括nginx的官网也有介绍,但是介绍都比较简单对于一些细节并没有提到,所以我把我摸索的一些经验写下来,希望可以帮助到正在找资料到人。
默认的nginx已经包含了很多通用的模块,详见:http://nginx.org/en/docs/
但是如果需要增加一些第三方的模块的话(比如淘宝的combo 模块:https://github.com/alibaba/nginx-http-concat)则需要下载nginx的源码并加入新的模块重新编译。下面我就来介绍下如何在windows下编译nginx并添加combo模块的。
需要准备的工具:
- visual studio 2013 2015 都可以
- 下载MSYS,地址:https://sourceforge.net/projects/mingw/files/Installer/ 下载mingw-get-setup.exe
- 安装perl,ActivePerl和Strawberry Perl都可以
- Mercurial安装包(一个源码管理器:水银)https://www.mercurial-scm.org/
-PCRE,zlib 和OpenSSL 这三个nginx需要的依赖模块 (笔者用的版本是:pcre-8.37,zlib-1.2.8,openssl-1.0.1s,需要注意的是openssl如果版本太高的话编译会报错,所以下载openssl的需要注意在官方地址的old目录中找到对应的版本)
0.安装MSYS
下载mingw-get-setup.exe直接执行直接下一步即可,安装完成之后找到文件bin/mingw-get.exe
打开,用这个来安装msys点击左侧的Basic Setup右侧选择mingw32-base和msys.base只有点击菜单isntallation-》Apply Changes 开始下载,完成之后点击左侧All Packages-》MSYS-》MSY Base System检查右侧菜单的选中组件中是否有msys-make、msys-tar
因为这两个组件会在接下来用到。
1.下载nginx源码和依赖模块
首先安装Mercurial并在环境变量中添加C:\Program Files\Mercurial\目录,因为