终于到最后一步,分发了,按理说nginx可以负载http和tcp,但是我只用来负载了http,也是从服务器的性能和安全考虑,一个是推流给一个单独的入口更安全,再一个就是降低服务器的压力。所以本文是用nginx负载SRS的3台edge服务器,分发的文件类型为 flv和m3u8,nginx安装完毕后会去SRS服务器进行设置两种输出格式。
因为这是前端服务器,所以我用了宝塔面板安装和管理nginx。同时也可以监看服务器状态。
1.安装宝塔面板
yum install -y wget && wget -O install.sh http://download.bt.cn/install/install_6.0.sh && sh install.sh
2.在宝塔中配置nginx
3.在宝塔面板左侧选中“网站”,在其中设置一个网站,再修改此网站的配置
配置文件
upstream srs{ server 172.20.1.41:8080; server 172.20.1.42:8080; server 172.20.1.43:8080; } server { listen 80; server_name 172.20.1.45; index index.php index.html index.htm default.php default.htm default.html; root /www/wwwroot/172.20.1.45; #PHP-INFO-START PHP引用配置,可以注释或修改 include enable-php-00.conf; #PHP-INFO-END #REWRITE-START URL重写规则引用,修改后将导致面板设置的伪静态规则失效 include /www/server/panel/vhost/rewrite/172.20.1.45.conf; #REWRITE-END location ~ /* { proxy_pass http://srs; add_header Cache-Control no-cache; add_header Access-Control-Allow-Origin *; } #禁止访问的文件或目录 location ~ ^/(\.user.ini|\.htaccess|\.git|\.svn|\.project|LICENSE|README.md) { return 404; } #一键申请SSL证书验证目录相关设置 location ~ \.well-known{ allow all; } location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$ { expires 30d; error_log /dev/null; access_log /dev/null; } location ~ .*\.(js|css)?$ { expires 12h; error_log /dev/null; access_log /dev/null; } access_log /www/wwwlogs/172.20.1.45.log; error_log /www/wwwlogs/172.20.1.45.error.log; }
在浏览器中访问http://172.20.1.45/
负载均衡就做好了。接下来要开通 SRS的 FLV和HLS。