您的位置:首页 > 运维架构 > Nginx

win7 64编译32位nginx-rtmp

2013-12-29 11:40 459 查看
之前编译了32位版本的nginx-rtmp,时间紧,没有记录下来。

参考过 http://bashell.sinaapp.com/archives/build-nginx-rtmp-module-on-windows.html ,下载了他的可执行文件,好像在我的机子上无法工作。

================================

最近想编译x264的windows版本,突然想起来,自己还是用vc2010的工具编译过32位的windows应用程序的。

回忆下过程:

(1)下载工具和源码

openssl

zlib

pcre

这些本身都是支持windows编译的。

nginx也要用hg下载最新的。



nginx-rtmp 下载最新的github上的版本就好了,是直接可以支持windows的编译的。

mingw下载支持32位的就是可以的(虽然我是64位的win7,但是我还是编译32位的nginx-rtmp,因为nginx官方就是支持32位的编译的。)





注意activeperl,要选择32位的,虽然我是64的win7。因为32位的perl才能编译32位的程序。

否则:



(2)工程结构

mingw安装程序,会默认自动安装一些编译所需的组件的,我指定了路径:



我们用来控制编译的控制台在这里:

bat启动控制台程序。



编译的工程的源码,放在这里,这里就类似于一个linux上的/home/zhangbin样的分区:

nginx就是hg上最新nginx了:



rtmp模块及nginx的依赖库放在这里:

objs的lib下:



(3)准备好vc2010的编译工具





否则编译过程中,会有很多奇怪的问题。



(4)开始编译



【1】编译用的应该是nginx提供的编译win32程序的脚本。



【2】先编译依赖库,这个也是各个依赖库自带的windows的编译脚本。nginx只是调用一下。

openssl





由于自己构建工程目录的原因,可能头文件找不到啥的,自己修改下就好了:





zlib:



【3】编译nginx,同时把nginx-rtmp源码作为一个模块让nginx知道,这样就可以直接编译出来nginx带rtmp了。

【4】

编译出来应该是这样的:



貌似编译出来的这个nginx是1.5.7版本的。

编译过程:



(5) 部署nginx-rtmp

用的是是官方发布的1.5.6的工程,nginx替换为我编译的ngiinx-1.5.7-rtmp就好了。

当然,还要设置下目录啥的。



(6)运行





(7) nginx-rtmp实际上可以用来支持HLS:

如在ubuntu上编译的:

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: