终于到最后一步,分发了,按理说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。