nginx stream 流转发,可以转发rtmp、mysql访问流,转发rtmp、jdbc请求
wegt https://github.com/arut/nginx-rtmp-module/archive/master.zip 下载之后解压 unzip master.zip 安装nginx wget http://nginx.org/download/nginx-1.8.1.tar.gz tar -zxvf nginx-1.8.1.tar.gz cd nginx-1.8.1 ./configure --prefix=/usr/local/nginx --add-module=../nginx-rtmp-module --with-http_ssl_module make && make install
平滑安装stream,不覆盖原来的nginx配置文件
此处nginx源码目录为:/usr/local/src/nginx-1.8.1,即为编译命令执行目录。
编译命令如下:./configure --prefix=/usr/local/nginx --add-module=../nginx-rtmp-module --with-http_ssl_module --with-stream此处之用make在当前目录下编译,不要make install不然会覆盖之前的安装
make
关闭nginx服务
cd /usr/local/nginx
./sbin/nginx -s stop
备份原有nginx二进制文件。cp /usr/local/nginx/sbin/nginx /usr/local/nginx/sbin/nginx-no-strem复制新编译好的nginx二进制文件。从此处nginx源码目录为:/usr/local/nginx-1.8.1。即为编译命令执行目录。cp ./objs/nginx /usr/local/nginx/sbin/nginx启动测试
./sbin/nginx
stream{
server{
listen 8088;
proxy_pass 127.0.0.1:9935; #推流服务
}
server{
listen 8081;
proxy_pass 127.0.0.1:3306; #数据库
}
}
stream模块和http模块同级
如果不成功,检测网络和端口是否通。
代理完毕。
stream官方例子
stream段的配置要与http段在同级目录。此处引用的为官方nginx说明配置。
stream { upstream backend { hash $remote_addr consistent; server backend1.example.com:12345 weight=5; server 127.0.0.1:12345 max_fails=3 fail_timeout=30s; server unix:/tmp/backend3; } upstream dns { server 192.168.0.1:53535; server dns.example.com:53; } server { listen 12345; proxy_connect_timeout 1s; proxy_timeout 3s; proxy_pass backend; } server { listen 127.0.0.1:53 udp reuseport; proxy_timeout 20s; proxy_pass dns; } server { listen [::1]:12345; proxy_pass unix:/tmp/stream.socket; } }

浙公网安备 33010602011771号