Windows下编译支持rtmp的nginx
最近突然又想玩本地推流了,转来转去发现还是nginx做推流服务器比较舒服(开源且稍微熟悉一点),考虑到之前试过的别人编译的nginx 1.7.11.3 Gryphon过于老旧,而且卡顿严重,就打算自己编译一份。在这里简单记录一下编译流程。
仔细观察nginx官方提供的windows编译版,发现提供的还是32位程序,而在实际编译中也的确发现部分模块存在32位和64位混编导致失败的情况,因而最好用VS自带的x64_x86环境(Native Tools Command Prompt)启动cmd来尽可能避免编译出错。都什么年代了,还在用传统x86
set PATH=%PATH%;C:\msys64\usr\bin
pacman --noconfirm -S nasm
git clone https://github.com/nginx/nginx
git clone https://github.com/arut/nginx-rtmp-module
cd nginx
mkdir deps
cd deps
git clone https://github.com/PCRE2Project/pcre2
git clone https://github.com/madler/zlib
git clone https://github.com/openssl/openssl
cd ..
bash ./auto/configure --with-cc=cl --with-cpp=cl --with-cc-opt='/MP /wd4456' --with-pcre=deps/pcre2 --prefix= --sbin-path=nginx.exe --with-zlib=deps/zlib --with-openssl=deps/openssl --with-http_stub_status_module --add-module=../nginx-rtmp-module
nmake
编译完把nginx.exe
复制到项目根目录下即可使用。
还是不要尝试nmake install了,不然会报出各种奇奇怪怪的错误= =