Windows 下 Nginx 添加 ngx_http_sub_module 模块

2019独角兽企业重金招聘Python工程师标准>>> hot3.png

最近 需要用到 ngx_http_sub_module 来解决局域网边界的问题,但是只有一台Windows服务器可用,所以研究一下怎样在 Windows下添加 ngx_http_sub_module。

 首先下载 Nginx 源码 ,需要先安装Mercurial 具体方法可以看 Nginx 官网教程 http://nginx.org/en/docs/howto_build_on_win32.html。

安装完 Mercurial 使用下面命令活动 Nginx 源码。

hg clone http://hg.nginx.org/nginx

安装 MSYS ,启动msys.bat并cd到nginx源码目录下执行:

./auto/configure -–prefix=”c:/nginx” -–with-cc-opt=”-D FD_SETSIZE=4096 -D __NO_MINGW_LFS -D __WATCOMC__” -–with-http_stub_status_module -–with-http_sub_module -–without-http_rewrite_module -–without-http_gzip_module

–prefix=”c:/nginx”是Nginx的安装目录,注意一定要写路径中的斜杠,一定要是“/”

-D FD_SETSIZE=4096是为了避免出现运行时的错误提示

-D __NO_MINGW_LFS是为了避免编译时出现ssize_t、off_t类型错误

-D __WATCOMC__是为了避免编译时出现Nginx shmtx错误

为了方便,采用–without-http_rewrite_module、–without-http_gzip_module避免Nginx依赖于其他库

执行完毕之后在objs目录下会生成一堆文件,其中Makefile就是我们生成的编译批处理文件了。

修改Makefile 的第一行:

CC= cc  改为 CC= gcc

在objs/Makefile中查找advapi32.lib、ws2_32.lib,并补全路径,改为:

"C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\Lib\advapi32.lib"

"C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\Lib\ws2_32.lib"

接下来继续执行命令:

make -f objs/Makefile

完成后执行:

make install

此时Nginx便安装到了C:/nginx目录下。

 

转载于:https://my.oschina.net/ivan1989/blog/874490

你可能感兴趣的:(Windows 下 Nginx 添加 ngx_http_sub_module 模块)