CDN系统搭建教程
# 安装Nginx(以Ubuntu为例)
sudo apt update
sudo apt install nginx
# 配置缓存规则
编辑配置文件 `/etc/nginx/nginx.conf`,添加以下内容:
http {
proxy_cache_path /var/cache/nginx levels=1:2 keys_zone=my_cache:10m inactive=60m;
proxy_cache_key "$scheme$request_method$host$request_uri";
}
# 配置CDN节点服务器
在 `/etc/nginx/sites-available/cdn.conf` 中添加:
server {
listen 80;
server_name cdn.yourdomain.com;
location / {
proxy_pass http://源站IP;
proxy_cache my_cache;
proxy_cache_valid 200 302 10m;
proxy_cache_valid 404 1m;
add_header X-Cache-Status $upstream_cache_status;
}
}
# 重启Nginx
sudo systemctl restart nginx
配置DNS解析
- 在域名解析平台(如Cloudflare、DNSPod)添加CDN子域名的A记录,指向各节点服务器的IP地址。
- 启用负载均衡(如轮询或基于地理位置的调度),确保用户访问最近的节点。
测试CDN生效
- 访问
http://cdn.yourdomain.com/测试图片.jpg
,检查响应头中的X-Cache-Status
字段是否为HIT
(表示缓存成功)。 - 使用工具(如Pingdom或WebPageTest)多地区测速,验证延迟是否降低。
优化与高级功能
-
缓存策略优化
- 根据文件类型设置不同缓存时间(如CSS/JS缓存7天,图片缓存30天)。
- 使用
proxy_cache_purge
模块实现缓存主动清理。
-
HTTPS支持
部署SSL证书,强制跳转HTTPS,提升安全性与搜索引擎排名。
Q:如何应对DDoS攻击?
A:结合云服务商的防护服务(如阿里云DDoS高防),并在Nginx中配置限速策略。
引用说明
- Nginx官方文档:https://nginx.org/en/docs/
- Let’s Encrypt免费SSL证书:https://letsencrypt.org/
- Cloudflare DNS解析:https://www.cloudflare.com/