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; } }