1️⃣ 环境准备
操作系统:Debian/Ubuntu
VPS:优化线路
Nginx:已安装
Certbot:用于获取 Let’s Encrypt 证书
Cloudflare:加速域名需开启小云朵(代理)
安装必要工具:
sudo apt update
sudo apt install nginx certbot python3-certbot-nginx -y
2️⃣ 配置全局缓存(只需一次)
编辑 /etc/nginx/nginx.conf 的 http { ... } 块,加入:
http {
...
# 静态资源缓存
proxy_cache_path /var/cache/nginx levels=1:2 keys_zone=my_cache:10m inactive=60m max_size=1g;
include /etc/nginx/conf.d/*.conf;
include /etc/nginx/sites-enabled/*;
}
my_cache是缓存名称,多个站点共享缓存存放路径
/var/cache/nginx可以根据 VPS 空间调整
max_size
3️⃣ 新建站点配置文件
路径:/etc/nginx/sites-available/<加速域名>.conf
模板(可直接复制):
# 301 重定向 HTTP -> HTTPS
server {
listen 80;
server_name <加速域名>;
return 301 https://$host$request_uri;
}
# HTTPS 反代
server {
listen 443 ssl http2;
server_name <加速域名>;
ssl_certificate /etc/letsencrypt/live/<加速域名>/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/<加速域名>/privkey.pem;
ssl_protocols TLSv1.2 TLSv1.3;
ssl_ciphers HIGH:!aNULL:!MD5;
# 普通请求反代
location / {
proxy_pass https://<源站域名>;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_connect_timeout 60s;
proxy_send_timeout 120s;
proxy_read_timeout 120s;
proxy_set_header Accept-Encoding "";
add_header X-Cache-Status $upstream_cache_status;
}
# 静态资源缓存
location ~* \.(jpg|jpeg|png|gif|ico|css|js|woff2|ttf|svg)$ {
proxy_pass https://<源站域名>;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_cache my_cache;
proxy_cache_valid 200 302 10m;
proxy_cache_valid 404 1m;
proxy_buffering on;
proxy_connect_timeout 60s;
proxy_send_timeout 120s;
proxy_read_timeout 120s;
add_header X-Cache-Status $upstream_cache_status;
}
}
替换两处:
<加速域名>→ 你访问给用户的加速域名(必须开小云朵)
<源站域名>→ 实际存放内容的源站域名(无需开启 Cloudflare)
4️⃣ 启用站点
sudo ln -s /etc/nginx/sites-available/<加速域名>.conf /etc/nginx/sites-enabled/<加速域名>.conf
删除默认站点,防止显示 Nginx 欢迎页:
sudo rm /etc/nginx/sites-enabled/default
5️⃣ 获取 HTTPS 证书
sudo certbot --nginx -d <加速域名>
Certbot 会自动配置证书
证书有效期 90 天,自动续期
6️⃣ 测试配置并重载 Nginx
sudo nginx -t
sudo systemctl reload nginx
7️⃣ 测试加速效果
7.1 测试静态资源缓存
curl -I https://<加速域名>/images/logo.png
查看响应头
X-Cache-StatusHIT→ 走缓存MISS→ 第一次访问,缓存被填充
7.2 浏览器开发者工具
打开 Network 标签
刷新页面,观察静态资源加载速度
检查缓存是否生效
8️⃣ 添加其他网站
重复 第 3 步到第 6 步
只需新建配置文件,修改
<加速域名>和<源站域名>其他配置保持一致即可
⚠️ 注意:
proxy_cache_path只定义一次,不要在每个站点配置里重复
9️⃣ 常见问题
✅ 这样你就能用 CN2 VPS + Cloudflare 给多站点加速,支持缓存和 HTTPS。
评论