nginx 역방향 프록시 TCP, RTMP 스트림 가져오기
설명
nginx는 기본적으로 HTTP 역방향 프록시만 지원합니다. TCP 역방향 프록시를 지원해야 하는 경우 tcp 프록시 모듈(nginx_tcp_proxy_module)을 추가해야 합니다.
2. 원자재
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
3.단계
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>
다음과 같은 오류가 보고되는 경우 라이브러리가 누락된 경우 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>
<code><span>.</span>/usr/<span>local</span>/srs/objs/srs <span>-c</span> conf/srs<span>.</span>conf</code>