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 < src/nginx_tcp_proxy_module/tcp.<span>patch</span></code>
4.編譯&安裝
<code>./configure --<span>add</span>-<span>module</span>=src/nginx_tcp_proxy_module-master</code>
如果報錯缺少庫,則安裝對應函式庫,如opensslee繼續安裝
.修改設定檔在nginx.conf中加入,模組指令是TCP,它是不屬於HTTP框架內的,所以和HTTP{}同級
<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>
6.測試
啟動nginx
<code><span>make</span><span>make</span> install</code>
啟動srs
<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>使用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教程有興趣的朋友有所幫助。