站长视角
用户至上

闲置VPS服务器使用智能解析 + Nginx反向代理,自建CDN加速节点

买VPS就像瘾君子一样,看到实惠或是不错线路的就想买买买?但是手里已经有一大堆VPS,不知道用来干嘛,我们不妨一起来研究下如何使用VPS自建CDN,如《CentOS安装Fikker 缓存,自建CDN加速》,Fikker非常方便,功能也很强大,不过免费版不支持页面缓存、也不支持HTTP/2,我们也可以用Nginx反向代理实现自建CDN。

vpn-cdn-business
名词概念

智能解析:域名智能解析是指域名解析服务器根据来访者的IP类型,对同一域名作出相应不同解析。对IP来自电信的访问者,将域名解析到该域名对应IP地址为电信的服务器上。对IP来自网通的访问者,将域名解析到该域名对应IP地址为网通的服务器上。以保证访问者不因网通电信线路瓶颈而造成网速慢。

反向代理:反向代理(Reverse Proxy)方式是指以代理服务器来接受internet上的连接请求,然后将请求转发给内部网络上的服务器,并将从服务器上得到的结果返回给internet上请求连接的客户端,此时代理服务器对外就表现为一个反向代理服务器。

CDN:CDN的全称是Content Delivery Network,即内容分发网络。其基本思路是尽可能避开互联网上有可能影响数据传输速度和稳定性的瓶颈和环节,使内容传输的更快、更稳定。其目的是使用户可就近取得所需内容,解决 Internet网络拥挤的状况,提高用户访问网站的响应速度。

准备工作

智能解析:推荐使用CloudXNS或DNSPOD之类的。
VPS 3台以上,安装Nginx,需要在所有CDN服务器节点安装Nginx,推荐使用OneinStack或军哥的lnmp.org一键包,如何安装Nginx自行参考脚本官网就行了。

如果都不想使用,可以试试xiaoz的一键Nginx安装包(适用于Centos 7、Deebian 8),执行下面的命令安装即可。

wget https://raw.githubusercontent.com/helloxz/nginx-cdn/master/nginx.sh
chmod +x nginx.sh && ./nginx.sh

反向代理配置
反向代理通俗点你把它理解成CDN节点就行了,这里用4台服务器作为解释,

源站:192.168.1.100,就是网站数据真实存放的地方
CDN1:192.168.1.101(电信节点)
CDN2:192.168.1.102(联通节点)
CDN3:192.168.1.103(移动节点)
假如需要对www.xiaoz.me搭建CDN节点,数据放在192.168.1.100,需要先修改hosts指向,告知CDN节点从那里去获取网站数据,也就是回源地址,需要在CDN1/CDN2/CDN3做如下修改:

vi /etc/hosts
192.168.1.100 www.xiaoz.me
分别在CDN1/CDN2/CDN3下创建nginx配置文件xiaoz.me.conf

#创建缓存目录

mkdir -p /data/wwwroot/caches/www.xiaoz.me

#设置缓存目录权限

chown -R www:www /data/wwwroot/caches/www.xiaoz.me

#创建xiaoz.me.conf

vi /usr/local/nginx/conf/vhost/xiaoz.me.conf

在xiaoz.me.conf中添加下面的内容,缓存目录/缓存时间请根据实际情况调整,后面会详细说明各参数含义。

proxy_cache_path /data/wwwroot/caches/www.xiaoz.me levels=1:2 keys_zone=xiaoz:50m inactive=30m max_size=50m;
server {
listen 80;
server_name www.xiaoz.me;
charset utf-8,gbk;
location / {
proxy_set_header Accept-Encoding "";
proxy_pass https://www.xiaoz.me;
proxy_redirect off;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_cache xiaoz;
proxy_cache_valid 200 304 30m;
proxy_cache_valid 301 24h;
proxy_cache_valid 500 502 503 504 0s;
proxy_cache_valid any 1s;
proxy_cache_min_uses 1;
expires 12h;
}
}

/data/wwwroot/caches/www.xiaoz.me:为缓存目录
levels:指定该缓存空间有两层hash目录,第一层目录为1个字母,第二层为2个字母。
keys_zone=xiaoz:50m:为缓存空间起个名字,这里取名为“xiaoz”,后面的50m指内存缓存空间
inactive=30m:如果30分钟内该资源没有被访问则删除
max_size=50m:指硬盘缓存大小为50MB
proxy_cache_valid:指定状态码缓存时间,前面写状态码,后面写缓存时间。
最后别忘了重载nginx使配置生效,如果使用的oneinstack直接输入命令:service nginx reload,如果是xiaoz一键脚本输入:/usr/local/nginx/sbin/nginx -s reload,如果有报错,可以贴出报错信息一起讨论下。

智能解析
假如您上面CDN1/CDN2/CDN3三个CDN节点都配置好了,在CloudXNS后台,将不同的运营商指向不同的节点,使其达到分发和缓存加速效果,如下截图。

智能解析 + Nginx反向代理,自建CDN加速节点

其它说明
解析后可以使用超级ping工具ping.chinaz.com测试各地解析是否生效,也可以本地修改hosts访问测试是否正常,同时分享下小z博客(www.xiaoz.me)的完整CDN配置:

proxy_cache_path /data/wwwroot/caches/www.xiaoz.me levels=1:2 keys_zone=xiaoz:50m inactive=30m max_size=50m;
server {
listen 443 ssl http2;
ssl_certificate /data/ssl/www.xiaoz.me/www_xiaoz_me.crt;
ssl_certificate_key /data/ssl/www.xiaoz.me/www_xiaoz_me.key;
ssl_session_timeout 1d;
ssl_session_cache builtin:1000 shared:SSL:10m;
ssl_dhparam /data/ssl/dhparam.pem;

ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers 'ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA:ECDHE-RSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-RSA-AES256-SHA256:DHE-RSA-AES256-SHA:ECDHE-ECDSA-DES-CBC3-SHA:ECDHE-RSA-DES-CBC3-SHA:EDH-RSA-DES-CBC3-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA256:AES256-SHA256:AES128-SHA:AES256-SHA:DES-CBC3-SHA:!DSS';
ssl_prefer_server_ciphers on;

ssl_stapling on;
ssl_stapling_verify on;

server_name www.xiaoz.me;
access_log /data/wwwlogs/xiaoz.me_nginx.log combined;

charset utf-8,gbk;
location / {
proxy_set_header Accept-Encoding "";
proxy_pass https://www.xiaoz.me;
proxy_redirect off;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_cache xiaoz;
proxy_cache_valid 200 304 30m;
proxy_cache_valid 301 24h;
proxy_cache_valid 500 502 503 504 0s;
proxy_cache_valid any 1s;
proxy_cache_min_uses 1;
expires 12h;
}
}
server {
listen 80 default_server;
return 301 https://$host$request_uri;
}

以上教程需要一点linux基础,如果您手里有不少闲置VPS,可以折腾试试。

搬瓦工推荐方案

温馨提醒 如果您有选择困难症,直接选中间的 CN2 GIA-E方案,季付 $49.99,多达 12 个机房任意切换
方案 内存 CPU 硬盘 流量/月 带宽 机房 价格 购买
CN2
(最便宜)
1GB 1核 20GB 1TB 1Gbps DC3 CN2
DC8 ZNET
$49.99/年 直达
CN2 2GB 1核 40GB 2TB 1Gbps $52.99/半年
$99.99/年
直达
CN2 GIA-E
(最推荐)
1GB 2核 20GB 1TB 2.5Gbps DC6 CN2 GIA-E
DC9 CN2 GIA
日本软银 JPOS_1
荷兰 EUNL_9
$49.99/季度
$169.99/年
直达
CN2 GIA-E 2GB 3核 40GB 2TB 2.5Gbps $89.99/季度
$299.99/年
直达
HK 2GB 2核 40GB 0.5TB 1Gbps 中国香港 CN2 GIA $89.99/月
$899.99/年
直达
HK 4GB 4核 80GB 1TB 1Gbps $155.99/月
$1559.99/年
直达
TOKYO 2GB 2核 40GB 0.5TB 1.2Gbps 日本东京 CN2 GIA $89.99/月
$899.99/年
直达
TOKYO 4GB 4核 80GB 1TB 1.2Gbps $155.99/月
$1559.99/年
直达
搬瓦工优惠码:BWH3HYATVBJW 2022年最新搬瓦工VPS购买图文教程

赞(0)
版权声明:本文采用知识共享 署名4.0国际许可协议 [BY-NC-SA] 进行授权, 转载请注明出处。
文章名称:《闲置VPS服务器使用智能解析 + Nginx反向代理,自建CDN加速节点》
文章链接:https://www.veidc.com/38875.html
【声明】:国外主机测评仅分享信息,不参与任何交易,也非中介,所有内容仅代表个人观点,均不作直接、间接、法定、约定的保证,读者购买风险自担。一旦您访问国外主机测评,即表示您已经知晓并接受了此声明通告。
【关于安全】:任何 IDC商家都有倒闭和跑路的可能,备份永远是最佳选择,服务器也是机器,不勤备份是对自己极不负责的表现,请保持良好的备份习惯。