提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
本文参考原文Windows下编译 nginx + http-flv 模块
Win10 vs2019编译nginx + nginx-http-flv-module-1.2.10
一、源码准备
1. github下载nginx
2. github下载PCRE
本文下载版本pcre2-10.40
3. github下载OpenSSL
本文下载版本openssl-OpenSSL_1_1_1o
4. 下载zlib
本文下载版本zlib-1.2.12.tar
5. 下载nginx-http-flv-module
本文下载版本nginx-http-flv-module-1.2.10
二、安装必要软件
1.安装msys2
下载链接msys2,根据官网的方法安装,将\msys64\usr\bin加入环境变量里。
2.安装Strawberry Perl
下载链接Strawberry Perl,本文安装版本strawberry-perl-5.32.1.1-64bit.msi
三、开始编译
1、将第一步下载的源代码解压
解压nginx源码压缩包,在nginx根目录新建一个目录objs,在objs再建一个lib目录,然后将其他的包解压在lib里面,目录结构如下:
├─nginx
│ ├─objs
│ │ ├─lib
│ │ │ ├─nginx-http-flv-module
│ │ │ ├─openssl
│ │ │ ├─pcre2
│ │ │ └─zlib
2、打开MSYS2 MSYS生成配置文件
在MSYS命令行进入nginx目录,输入如下命令,注意自己的目录
auto/configure --with-cc=cl --with-debug --prefix= --conf-path=conf/nginx.conf --pid-path=logs/nginx.pid --http-log-path=logs/access.log --error-log-path=logs/error.log --sbin-path=nginx.exe --http-client-body-temp-path=temp/client_body_temp --http-proxy-temp-path=temp/proxy_temp --http-fastcgi-temp-path=temp/fastcgi_temp --http-scgi-temp-path=temp/scgi_temp --http-uwsgi-temp-path=temp/uwsgi_temp --with-cc-opt=-DFD_SETSIZE=1024 --with-pcre=objs/lib/pcre2 --with-zlib=objs/lib/zlib --with-openssl=objs/lib/openssl --add-module=objs/lib/nginx-http-flv-module --with-openssl-opt=no-asm --with-http_ssl_module
3、搜索并运行“x86_x64 Cross Tools Command Prompt for VS 2019”进行编译
在“x86_x64 Cross Tools Command Prompt for VS 2019”命令行输入nmake,
编译完后,在objs生成nginx.exe,如果没有上面加环境变量可能会有sed错误,但是不影响nginx.exe生成。