windows下编译nginx-http-flv-moudle
windows下編譯nginx-http-flv-moudle
- 一: 編譯前準(zhǔn)備
- 1:msys(1.0.11內(nèi)含mingw命令行工具)
- 2:perl (ActivePerl 5.28,草莓版好像會(huì)編譯出錯(cuò),具體原因不知)
- 3:nasm(2.11.02)
- 4:sed
- 5:nginx-http-flv-moudle
- 6:zlib(1.2.11,Zlib是一個(gè)壓縮和解壓模塊)
- 7:openssl(1.1.1d,加密)
- 8:pcre(8.3.4perl語(yǔ)言兼容正則表達(dá)式)
- 二:開始編譯
- 1:windows先安裝vs,若已安裝跳過。未安裝則請(qǐng)安裝vs2017社區(qū)版本,并配置相關(guān)環(huán)境變量。(vs編譯 nmake命令,安裝社區(qū)版vs2017,企業(yè)版不行,會(huì)出現(xiàn)nmake命令不可用),以下是本機(jī)配置的環(huán)境變量
- 2:編譯
- 2.1 新建文件夾nginx-flv并解壓nginx源碼到nginx-flv下
- 2.2 在nginx-flv下新建文件夾build,進(jìn)入build,在build下新建文件夾3rdlib和output
- 2.3.將nginx-http-flv-module,openssl,zlib,pcre解壓縮到nginx-flv/build/3rdlib目錄下
- 2.4.在nginx-flv目錄下新建build.bat文件并輸入以下腳本
- 2.5 最終整個(gè)編譯工程的目錄構(gòu)架如下
- 2.6.打開mingw命令行工具進(jìn)入nginx-flv目錄執(zhí)行build.bat
一: 編譯前準(zhǔn)備
1:msys(1.0.11內(nèi)含mingw命令行工具)
2:perl (ActivePerl 5.28,草莓版好像會(huì)編譯出錯(cuò),具體原因不知)
3:nasm(2.11.02)
4:sed
安裝完之后,配置正確的環(huán)境變量。
5:nginx-http-flv-moudle
6:zlib(1.2.11,Zlib是一個(gè)壓縮和解壓模塊)
7:openssl(1.1.1d,加密)
8:pcre(8.3.4perl語(yǔ)言兼容正則表達(dá)式)
二:開始編譯
1:windows先安裝vs,若已安裝跳過。未安裝則請(qǐng)安裝vs2017社區(qū)版本,并配置相關(guān)環(huán)境變量。(vs編譯 nmake命令,安裝社區(qū)版vs2017,企業(yè)版不行,會(huì)出現(xiàn)nmake命令不可用),以下是本機(jī)配置的環(huán)境變量
添加vs環(huán)境變量(包含LIB INCLUDE),詳見教程
https://blog.csdn.net/kaige_zhao/article/details/80315697
例如:
path變量
D:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.14.26428\bin\HostX64\x64
LIB變量
D:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.16.27023\lib\x64;D:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.16.27023\lib\x64;D:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.16.27023\lib\x64
INCLUDE變量
D:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.16.27023\include;D:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.16.27023\include
2:編譯
2.1 新建文件夾nginx-flv并解壓nginx源碼到nginx-flv下
2.2 在nginx-flv下新建文件夾build,進(jìn)入build,在build下新建文件夾3rdlib和output
2.3.將nginx-http-flv-module,openssl,zlib,pcre解壓縮到nginx-flv/build/3rdlib目錄下
2.4.在nginx-flv目錄下新建build.bat文件并輸入以下腳本
auto/configure --with-cc=cl --builddir=build/output --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-flv.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=build/3rdlib/pcre-8.34
–with-zlib=build/3rdlib/zlib-1.2.11 --with-openssl=build/3rdlib/openssl-1.0.1u
–with-select_module --with-http_ssl_module
–add-module=build/3rdlib/nginx-http-flv-module-master
(* 加粗部分為本地文件的路徑,如果版本與本文不一致記得修改)
2.5 最終整個(gè)編譯工程的目錄構(gòu)架如下
nginx-flv
├─auto
├─build
│ ├─3rdlib
│ │ ├─nginx-http-flv-module-master
│ │ ├─openssl-1.0.1u
│ │ ├─pcre-8.34
│ │ └─zlib-1.2.11
│ └─output
├─conf
├─contrib
├─docs
├─misc
├─src
└─build.bat
2.6.打開mingw命令行工具進(jìn)入nginx-flv目錄執(zhí)行build.bat
cd F:/nginx-flv // 這里不是Windows風(fēng)格的命令,必須使用F:/nginx-flv,而不能使用F:\nginx-flv
build.bat // 運(yùn)行build.bat文件,這個(gè)挺耗時(shí)的,大約幾分鐘吧,結(jié)束后會(huì)在nginx-flv/build/output目錄下生成Makefile,運(yùn)行結(jié)束如下圖
如執(zhí)行nmake /f build/output/Makefile 報(bào)錯(cuò)如下圖:
修改nginx\auto\lib\openssl\makefile.msvc文件:
將VC-WIN32改為VC-WIN64A,將ms\do_ms 改為ms\do_win64a
進(jìn)入D:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Auxiliary\Build文件夾下,雙擊運(yùn)行vcvarsall.bat文件。
切換openssl版本為1.1.1d,繼續(xù)執(zhí)行nmake命令,報(bào)錯(cuò)
解決辦法:
修改C:\Perl64\lib\ActivePerl\Config.pm,大約在400行左右,屏蔽sub_marn里面的代碼。
Vs本機(jī)命令提示符工具 到nginx-flv目錄下 執(zhí)行nmake命令
執(zhí)行成功。
到此,編譯完成。目錄下生成了 makefile文件和nginx.exe,雙擊nginx.exe可以啟動(dòng)nginx,并將nginx原版的相關(guān)目錄拷貝過來,如下圖
最后本機(jī)的nginx.conf文件內(nèi)容如下:
創(chuàng)作不易,點(diǎn)個(gè)關(guān)注支持以下把!
總結(jié)
以上是生活随笔為你收集整理的windows下编译nginx-http-flv-moudle的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 计算机一级ms模拟试题,计算机一级ms模
- 下一篇: FZU1492 地震预测(链表模拟)