自建CDN部署解决方案,搭建反向代理缓存系统教程!企业是否需要部署自己的CDN,需要结合最优性价比、自身需求、业务规模、自身能力等综合因素。实测,市面上也有很多优秀的CDN可供选择!
CDN网络架构主要分为中心和边缘两部分。中心是指CDN网管中心和DNS重定向解析中心,负责全局负载均衡。设备系统安装在管理中心机房,边缘主要指远程节点。 ,CDN分发的载体,主要由Cache和负载均衡器组成。
准备工作:
首先,至少要有两台服务器或者VPS等可以自主运行的资源,比如A和B,A在美国,使用WordPress,IP地址:1.2.@ >3. 4. 域名绑定:vps.caogenba.com;B 在日本,空白网站,IP 地址:2.@>3.4.5,域名绑定:静态.vps.caogenba.com.com。
网站主站设置在A服务器上(即所有网站内容,包括动态文件、数据库等),我们会在B站设置CDN服务。
程序安装:
由于A站已经搭建好服务环境,网站已经正常运行,不需要对A站进行多余的操作,所以,凡是没有解释的操作,都是B站进行的.
首先,自建CDN选择ngx_cache_purge模块。要运行此模块,您需要在服务器上安装 Nginx。如果之前安装过,请重新安装并添加参数。
下载相关软件:
wget http://nginx.org/download/nginx-1.10.3.tar.gz wget http://labs.frickle.com/files/ngx_cache_purge-2.3.tar.gz tar zxf nginx-1.10.3 tar zxf ngx_cache_purge-2.3.tar.gz
安装 Nginx:
cd nginx-1.10.3 ./configure –prefix=/usr/local/nginx –user=www –group=www –add-module=../ngx_cache_purge-2.3 #
因为每个人的需求不一样,所以康康这里只写了ngx_cache_purge模块。如有其他需求,请自行参考nginx编译参数
make && make install
验证 ngx_cache_purge 安装:
/usr/local/nginx/sbin/nginx -V
如果出现“–add-module=../ngx_cache_purge-2.@>3”字样,表示安装完成
Nginx 配置:
打开nginx.conf文件,在HTTP区添加如下内容
proxy_connect_timeout 5; proxy_read_timeout 60; proxy_send_timeout 5; proxy_buffer_size 16k; proxy_buffers 4 64k; proxy_busy_buffers_size 128k; proxy_temp_file_write_size 128k; proxy_cache_path /data/wwwroot/static.joelled.com levels=1:2 keys_zone=cache_one:200m inactive=30d max_size=5g; proxy_temp_path /data/wwwroot/static.joelled.com/tmp; 注意上面的“/data/wwwroot/static.joelled.com”,这是B站的网站路径 打开网站配置文件,在添加或修改如下内容,将静态文件进行缓存 location ~ .*.(gif|jpg|jpeg|png|bmp|swf|flv|mp4|ico|js|css)$ { proxy_pass http://www.joelled.com; proxy_redirect off; proxy_set_header Host www.joelled.com; proxy_cache cache_one; proxy_cache_valid 200 302 304 365d; proxy_cache_valid 301 1d; proxy_cache_valid any 1m; add_header Images-Cache “$upstream_cache_status from $host”; add_header Pragma public; add_header Cache-Control “public, must-revalidate, proxy-revalidate”; access_log off; log_not_found off; expires max; }
最后,重新加载 Nginx。以后访问static.vps.caogenba.com.com时,B站首先会检查本地是否有缓存。如果缓存存在,则直接显示。资源被保留以供展示。
网站程序配置:
现在CDN已经搭建好了,但是如何在网站上使用呢?
主站所有静态资源域名必须是static.vps.caogenba.com.com
static.vps.caogenba.com.com域名必须正确指向B站
WordPress 替代品
如果网站使用WordPress程序,对资源的操作非常方便。其实不需要操作,只需要更改静态资源的域名即可。反正CDN会自动拉取资源到本地!
打开本站模板函数文件“function.php”,添加如下代码
if ( !is_admin() ) { add_action(‘wp_loaded’,’lovekk_ob_start’); function lovekk_ob_start() { ob_start(‘lovekk_cdn_replace’); } function lovekk_cdn_replace($html) { return str_replace(‘http://www.joelled.com/wp-content/uploads/’, ‘http://static.joelled.com/wp-content/uploads/’, $html); } }
如果本站安装了缓存插件,请先清除缓存,然后再尝试打开本站。如果uploads目录下所有静态资源都指向static.vps.caogenba.com.com域名并且访问正常,说明CDN运行正常!
:自建CDN加速的一种部署方案,附反向代理缓存系统搭建详细教程,https://vps.caogenba.com.com/68134.html
如今做站的人不多了,多个朋友多条路子,加入站长论坛和大佬们同道交流,Tips:可以免费打广告哦~ 点击立即加入>>