1.
选择合适的马来西亚 VPS 与网络位置
- 说明:优先选择在吉隆坡等节点的 VPS,延迟低于目标用户群。- 实操:比较带宽(至少100Mbps),有独立公网IP、流量包和 DDoS 保护。- 建议:若用户主要在马来西亚,选择本地节点;若面向东南亚多国,考虑多节点或配合 CDN。
2.
操作系统与基础软件安装
- 说明:以 Ubuntu 22.04 为例。- 实操命令:apt update && apt upgrade -y;apt install nginx ffmpeg certbot git unzip -y。- 检查:systemctl status nginx;ffmpeg -version。
3.
使用 Nginx 配置静态与流媒体服务
- 说明:Nginx 做为静态文件、HLS 段以及反向代理非常高效。- 实操:在 /etc/nginx/sites-available/ 创建站点配置,启用 http2 与 gzip/brotli(若安装 brotli 模块)。关键项示例:
- sendfile on; tcp_nopush on; keepalive_timeout 65;
- gzip on; gzip_types text/plain application/javascript video/mp2t;
- location /hls/ { types { application/vnd.apple.mpegurl m3u8; video/mp2t ts; } root /var/www/media; add_header Cache-Control "max-age=6"; }
- 重启:nginx -t && systemctl reload nginx。
4.
用 ffmpeg 做转码与生成 HLS(分段)
- 说明:将原始视频转为多码率 HLS 能实现自适应码流。- 实操命令示例(生成 3 个码率):
ffmpeg -i input.mp4 -map 0 -c:a aac -ar 48000 -b:a 128k \
-c:v libx264 -profile:v main -crf 20 -sc_threshold 0 \
-g 48 -keyint_min 48 -hls_time 6 -hls_playlist_type vod \
-b:v:0 3000k -maxrate:v:0 3210k -bufsize:v:0 6000k -hls_segment_filename /var/www/media/1080p/seg%d.ts /var/www/media/1080p/playlist.m3u8 \
(重复为 720p/480p)
- 检查:确保 .m3u8 与 .ts 在 /var/www/media 可读。
5.
启用缓存层与微缓存(Varnish / Nginx microcache)
- 说明:静态分段与 m3u8 可被缓存,减轻回源压力。- 实操:
- 安装 Varnish:apt install varnish;配置接收 80,后端指向 Nginx 8080。
- 或在 Nginx 使用 microcache:设置 fastcgi_cache_path /var/cache/nginx levels=1:2 keys_zone=microcache:10m inactive=60m max_size=1g; 在 location 设置 fastcgi_cache 执行缓存规则。
- 注意:对 HLS 段设置短缓存(如 10-30s)以确保更新及时。
6.
网络与内核级调优提高并发与吞吐
- 说明:调整内核参数能减少丢包、提升并发连接。- 实操:把以下加入 /etc/sysctl.conf 并 sysctl -p:
net.core.somaxconn = 65535
net.core.netdev_max_backlog = 250000
net.ipv4.tcp_tw_reuse = 1
net.ipv4.tcp_fin_timeout = 15
net.ipv4.tcp_max_syn_backlog = 4096
- 还可设置文件描述符:在 /etc/security/limits.conf 添加 nginx 用户的 nofile 65536,并修改 systemd 服务的 LimitNOFILE。
7.
结合 CDN 与边缘节点(推荐)
- 说明:本地 VPS 做源站,利用 CDN(Cloudflare、阿里云 CDN 等)缓存全球节点,用户请求命中 CDN 边缘可大幅降低延迟。- 实操步骤:
- 在 VPS 上配置正确的 CORS 与缓存头(Access-Control-Allow-Origin:*,Cache-Control)。
- 在 CDN 后台添加源站 IP 为 VPS 公网 IP,设置动态回源、不缓存 m3u8(或短缓存)并缓存 .ts 段。
8.
安全、监控与测试
- 安全:安装 Certbot 获取 TLS 证书(certbot --nginx -d example.com),开启 OCSP stapling。- 监控:安装 Netdata/Prometheus+Grafana 监控带宽、磁盘 IO、CPU。- 测试:使用 curl 测试分段下载(curl -I https://example.com/hls/playlist.m3u8)和浏览器开发者工具查看 RPS、TTFB 与加载时间。
9.
Q1:用马来西亚 VPS 加速视频,必须用 CDN 吗?
- 回答:CDN 非必需但强烈推荐。单台马来西亚 VPS 可明显改善本地用户体验,但若用户分布在东南亚以外,CDN 可把流量分发到离用户更近的边缘节点,降低延迟与丢包,减轻源站负载。
10.
Q2:如何在 VPS 上保证 HLS 播放稳定、不花屏卡顿?
- 回答:关键是多码率转码(HLS 多清晰度)、短时缓存策略、开启 keepalive/sendfile、调整内核网络参数与监控磁盘 IO。并配合 CDN 缓存 .ts 段、设置合理的 buffer 与播放器端的初始缓冲时长。
11.
Q3:如何快速验证优化是否有效?
- 回答:使用浏览器 Network 面板测试首次加载与切换码率的 TTFB、下载速度;用 curl/wget 测试并发请求;真实用户监控(RUM)与服务器端监控结合,看带宽占用、缓存命中率和响应时间是否下降。
来源:媒体站点优化教程马来西亚vps怎么用提升视频加载速度