|
线上只有一台直播服务器,现在是商务打算给另外一个公司直播,一台服务器带宽不能满足,业务,总监,运维(我自己)沟通明确了需求,再上线3台放在前端用做缓存ts后缀的视频文件。
业务明确了,技术问题只能自己搞定,之前用的squid 加上新版性能不行,而且配置繁琐,我自己都一年多没配置,好多都忘记了,重新学也的花费不少时间,最后打算用自己熟悉的nginx做。
我以前做nginx缓存是挂的perl代码,强制缓存各大视频网站内容,没有定期失效删除这种功能。现在这个直播业务需要设置缓存时间,业务给的时间有限,有点拙计;我自己没配置过,找proxy_cache相关资料,终于还是搞定了,可以缓存直播的ts文件,并且自动删除失效文件,还是可以满足业务。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
| 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;
}
|
下面是一张效果图:
|
|
|
|
|
|
|