线上只有一台直播服务器,现在是商务打算给另外一个公司直播,一台服务器带宽不能满足,业务,总监,运维(我自己)沟通明确了需求,再上线3台放在前端用做缓存ts后缀的视频文件。

  业务明确了,技术问题只能自己搞定,之前用的squid 加上新版性能不行,而且配置繁琐,我自己都一年多没配置,好多都忘记了,重新学也的花费不少时间,最后打算用自己熟悉的nginx做。


  我以前做nginx缓存是挂的perl代码,强制缓存各大视频网站内容,没有定期失效删除这种功能。现在这个直播业务需要设置缓存时间,业务给的时间有限,有点拙计;我自己没配置过,找proxy_cache相关资料,终于还是搞定了,可以缓存直播的ts文件,并且自动删除失效文件,还是可以满足业务。

client_body_buffer_size  512k;
 proxy_connect_timeout    5;
 proxy_read_timeout       60;
 proxy_send_timeout       5;
 proxy_buffer_size        16k;
 proxy_buffers            4 64k;
 proxy_busy_buffers_size 128k;
 proxy_temp_file_write_size 128k;
proxy_temp_path   /data/tmp;

proxy_cache_path  /data/proxy_cache_dir  levels=1:2   keys_zone=cache1:200m inactive=10m max_size=30g;

server {
        listen 192.168.1.6:80;
        #server_name ;
access_log logs/ts.log  access;
        location ~* /tss/vod/ {
        proxy_cache cache1;
        proxy_ignore_headers Set-Cookie Cache-Control;
        proxy_cache_valid  200 304 10m;
        proxy_cache_key $host$uri$is_args$args;
        proxy_pass http://192.168.1.2;
        proxy_set_header   Host             $host;
        proxy_set_header   X-Real-IP        $remote_addr;
        proxy_set_header   X-Forwarded-For  $proxy_add_x_forwarded_for;
        }

下面是一张效果图:

wKiom1aWPRaQOJ-PAAHEzjFC6so038.jpg