1.
概述与准备
- 目标:在台湾机房部署网站与视频分发服务,兼顾成本与延迟。
- 准备项:身份证/公司证件、支付方式、域名、SSL证书、SSH密钥对、公有IP需求与预计带宽。
2.
选择供应商与机房位置
- 步骤:比较常见厂商(如台湾在地或国际在台节点的云厂商),查看网络回程、带宽计费与售后。
- 实操:用ping/traceroute测试目标机房延迟(ping ip、mtr域名),记录峰值带宽需求(流量预测公式:并发用户×平均码率)。
3.
实例规格与硬盘选择
- 步骤:按业务选择CPU/内存(网站+转码需更多CPU/内存,建议至少4核8G起步);磁盘选择SSD并决定本地盘/云盘。
- 实操:选择支持快照的云盘,操作系统镜像建议用Ubuntu LTS或CentOS最新稳定版,开启自动快照策略。
4.
网络与带宽配置
- 步骤:选择包年带宽或按流量计费,若视频分发稳定流量,优先包年带宽并预留峰值。
- 实操:申请公网IP、备案(如需),配置安全组放通80/443/1935(RTMP)或自定义端口,并限制SSH来源IP。
5.
系统初始化与安全
- 步骤:使用SSH密钥登录,禁用密码登录,更新系统补丁。
- 实操(命令):sudo apt update && sudo apt upgrade -y;添加用户并配置sudo;编辑 /etc/ssh/sshd_config:PermitRootLogin no,PasswordAuthentication no,重启sshd。
6.
安装Web与视频服务基础
- 步骤:安装Nginx、FFmpeg、可能的RTMP模块或媒体服务器(如nginx-rtmp-module或SRS)。
- 实操(示例):安装Nginx:sudo apt install nginx -y;安装FFmpeg:sudo apt install ffmpeg -y;若需RTMP,编译带rtmp的nginx或部署SRS。
7.
视频处理与分发架构
- 步骤:采用转码+分段(HLS/DASH)方案,生产多码率并用CDN分发。
- 实操(ffmpeg示例):ffmpeg -i input.mp4 -c:v libx264 -preset veryfast -g 48 -sc_threshold 0 -b:v 1500k -maxrate 1600k -bufsize 3000k -vf scale=-2:720 -b:a 128k output_720p.m3u8(可并行生成多码率并合成master.m3u8)。
8.
NGINX与缓存配置
- 步骤:为静态文件、HLS片段配置缓存头与gzip,设置合理的worker_processes与worker_connections。
- 实操(关键配置):在 nginx.conf 中设置 worker_processes auto; worker_connections 10240; 在server块加expires 30d; gzip on; 配置缓存路径 proxy_cache_path /var/cache/nginx levels=1:2 keys_zone=STATIC:100m inactive=7d max_size=10g;
9.
内核与网络调优
- 步骤:调整TCP、文件句柄和内存以支持高并发。
- 实操(/etc/sysctl.conf 追加):fs.file-max=200000; net.core.somaxconn=65535; net.core.netdev_max_backlog=250000; net.ipv4.tcp_tw_reuse=1; net.ipv4.tcp_fin_timeout=15;执行 sudo sysctl -p。增加用户级限制在 /etc/security/limits.conf 添加 nofile 65536。
10.
负载均衡与高可用
- 步骤:前端使用多台节点+负载均衡(云内SLB或HAProxy),视频源采用回源策略与CDN缓存策略结合。
- 实操:配置SLB健康检查(/index.html返回200),在HAProxy中配置后端server pool与健康探针,设置sticky session或按URI分流HLS请求。
11.
监控、日志与自动扩容
- 步骤:部署Prometheus/Grafana或云监控,监测CPU、内存、网络吞吐、磁盘I/O与RTMP/HLS错误率。
- 实操:设置报警阈值(如CPU>70%持续5分钟告警),开启日志切割(logrotate),并配置自动扩容策略(基于带宽/CPU触发新增实例并加入负载均衡)。
12.
备份、回滚与成本控制
- 步骤:定期快照与对象存储备份,配置版本保留策略,控制转码与存储成本。
- 实操:使用云厂商快照API定期备份镜像,视频原始文件可转存至对象存储(如OSS/Swift),冷存储归档非热数据以节省费用。
13.
问题1:在台湾云服务器做视频分发,如何选择带宽计费?
- 答:如果流量稳定且较大,优先选择包年/包月带宽并预留峰值;若流量波动大,使用按流量计费或弹性带宽结合CDN,减少回源流量。实际操作是根据历史并发与码率计算日/月流量并留30%余量。
14.
问题2:如何防止HLS片段对磁盘I/O造成瓶颈?
- 答:将短期热片段保存在本地SSD,并使用Nginx缓存层或内存缓存(如tmpfs)存储最近片段;同时通过CDN缓存绝大多数外部请求,减少回源读取。日志和切片写入要异步并限制并发转码任务。
15.
问题3:部署后如何逐步优化播放延迟与稳定性?
- 答:首先开启多码率与ABR,使用分段长度(HLS)控制延迟,短分段(2-4s)可降低延迟但增加请求数;其次优化TCP内核参数、增加worker_connections并启用HTTP/2或QUIC(若支持),最后通过持续监控定位丢包与回源高峰并扩容或调整CDN配置。
来源:从建站到视频分发 台湾云服务器租配置与性能优化技巧