nginx反向代理TCP,取RTMP流
一、说明
nginx默认只支持HTTP反向代理,如果需要支持TCP反向代理需添加tcp代理模块:nginx_tcp_proxy_module。
二、原料
1.nginx_tcp_proxy_module
下载地址:
wget https://github.com/yaoweibin/nginx_tcp_proxy_module/archive/master.zip
2.nginx源码
http://nginx.org/download/nginx-1.6.3.tar.gz
三、步骤
1.解压nginx
略
2.解压nginx_tcp_proxy_module
解压至/nginx-1.6.3/src/nginx_tcp_proxy_module
3.patch
<code>cd /usr/wkdir/nginx-<span>1.6</span><span>.3</span><span>patch</span> -p1 patch</code>
4.编译&安装
<code>./configure --<span>add</span>-<span>module</span>=src/nginx_tcp_proxy_module-master</code>
如果报错缺少库,则安装相应库,如openssl
<code>ubuntu下解决办法: apt<span>-get</span> install openssl apt<span>-get</span> install libssl<span>-dev</span>centos下解决办法: yum <span>-y</span> install openssl openssl<span>-devel</span></code>
继续编译安装
<code><span>make</span><span>make</span> install</code>
5.修改配置文件
在nginx.conf中添加,模块指令是TCP,它是不属于HTTP框架内的,所以和HTTP{}同级别
<code>tcp { upstream proxy_name { <span># simple round-robin</span><span>server</span> localhost:<span>1935</span>;<span>#需要代理的端口</span><span>#check interval=3000 rise=2 fall=5timeout=1000;</span><span>#check interval=3000 rise=2 fall=5timeout=1000</span><span>#check interval=3000 rise=2 fall=5timeout=1000</span><span>#check_http_send "GET /HTTP/1.0\r\n\r\n";</span><span>#check_http_expect_alive http_2xxhttp_3xx;</span> } <span>server</span> { listen <span>8888</span>; <span>#代理8888端口</span> proxy_pass proxy_name; } }</code>
6.测试
启动nginx
<code>./usr/<span>local</span>/nginx/sbin/nginx</code>
启动srs
<code><span>.</span>/usr/<span>local</span>/srs/objs/srs <span>-c</span> conf/srs<span>.</span>conf</code>
使用ffmpeg推rtmp流到srs服务器(端口1935),然后通过vlc或者其他方式到代理端口8888获取rtmp流.
自测试成功!
').addClass('pre-numbering').hide(); $(this).addClass('has-numbering').parent().append($numbering); for (i = 1; i ').text(i)); }; $numbering.fadeIn(1700); }); });以上就介绍了nginx反向代理TCP,取RTMP流,包括了方面的内容,希望对PHP教程有兴趣的朋友有所帮助。