Typecho博客全站部署腾讯云CDN教程

前言

建站大半年一直没有太过注重网站的速度.主要是因为新站访问量过低,没有部署的必要,其次就是本人实在是不太了解CDN相关的知识.现在访问量逐渐增加,为了保证网站的访问体验,在网上查找了相关教程,同时也咨询了热心网友后,正式把本站部署到了腾讯云CDN.

为方便后期复用的需求,本文将记录此次部署的全部流程,同时也可以供大家参考.

本文为 Stille 原创文章.经实践,测试,整理发布.如需转载请联系作者获得授权,并注明转载地址.

前期环境

由于CDN的设置比较特殊,请不要参照多篇教程对比设置,以至于会出现无法登录后台,无法实时显示评论等问题.本教程是以Typecho博客程序并使用handsome主题为例.

本站服务器相关环境

  • LNMP环境
  • 部署SSL证书并强制跳转HTTPS
  • 顶级域名
    ioiox.com

    配置301跳转到二级域名

    www.ioiox.com

    为主用域名


添加域名

腾讯云 – 控制台 – 内容分发网络
域名管理 – 添加域名
Typecho博客全站部署腾讯云CDN教程

  • 域名配置 – 添加顶级域名和www二级域名
  • 源站类型 – 自有源站
  • 源站设置 – 你的服务器IP

1327695694

也可以只添加一个主用域名,必须确定已经配置好301跳转访问你的主用域名
  • 业务类型 – 静态加速
  • 提交 – 缓存过滤可以等会再详细配置

4284631245


管理域名

添加成功后点击域名右侧的管理
1634749801

基本配置

  • 确认域名,业务类型,源站信息,回源配置无误,保持默认即可.

访问控制

  • 过滤参数配置 – 开启
  • 防盗链配置 – 根据实际情况配置
  • IP黑白名单配置 – 根据实际情况配置

3209764726

  • IP访问限制配置 – 开启 10-30QPS即可
  • 视频拖拽 – 默认关闭

3366303148

缓存配置

  • 缓存过期配置 – 高级缓存过期设置:默认关闭
  • 新增缓存配置 – 参考下图

如不懂请保持与图中顺序参数一致,以避免一些问题.

以下给出文本以方便复制

/usr/themes/handsome/usr/img
/usr/uploads
.php;.jsp;.asp;.aspx
.jpg;.jpeg;.png;.bmp;.gif;.psd;.ico;.tga;.imb;.tiff;.svg;.woff;.ttf;.woff2
.css;.js;.txt;.doc;.wri;.docs;.dot;.xml;.log;.bat;.csv

1102054314

注意图中首页缓存时间为1天,也可以根据更新文章的频率高低,来适当降低刷新时间.建议1-6小时之间皆可.
  • 状态码缓存 – 默认
  • HTTP头部缓存配置 – 开启

如果HTTP头部缓存配置开启,需关闭源站的HSTS,避免头部冲突.
一般情况下Nginx和Apache默认是没有配置过HSTS的.你也可以自行搜索相关教程来再次确认是否开启.

4096316626

回源配置

  • Range回源配置 – 开启
  • 回源跟随301/302配置 – 默认关闭

回源跟随301/302配置请一定不要开启,否则会出现无法登录的情况.

2427305869

安全配置

  • 鉴权配置 – 默认关闭

1861420190

高级配置

  • 带宽封顶配置 – 开启并根据实际情况配置
  • HTTPS配置 – 前往配置

3879312732

  • 配置证书 – 可上传自有证书,也可以在腾讯云免费申请.
  • 选择回源方式 – 协议跟随

52808881

  • HTTPS配置 – 开启强制跳转HTTPS
  • 跳转方式设置 – 301跳转
  • HTTP2.0配置 – 开启
  • SEO优化配置 – 开启

282976587

  • HTTP Header配置 – 添加HTTP Header

添加HTTP Header 可使你的站点使用CDN时SSL证书等级达到A+级
选择自定义参数
Strict-Transport-Security
max-age=31536000; includeSubdomains; preload;

3279499135

  • 智能压缩 – 启用

请自行检查你的源站是否开启Gzip智能压缩,如已经开启,此处可关闭.

3780637965

配置完成

此时需将域名进行CNAME解析到CDN为你生成的CNAME地址上,完成CDN部署.如你和我一样配置了两个域名,可以保持两个域名配置相同,如设置过301跳转到主域名,也可仅配置主域名.

进阶配置

手动刷新CDN缓存

如因网站信息更变过多,可以在腾讯云CDN后台手动刷新全站缓存.具体位置在控制台-内容分发网络-左侧的刷新预热,可以根据批量URL或者文件目录的形式刷新资源.

解决首页访问延迟过高

如果是严格按照本教程使用腾讯云CDN,可以修改php.ini解决首页延迟过高的问题,否则不建议使用.
修改你服务器中的php.ini文件,查找

session.cache_limiter

参数,修改为

session.cache_limiter = none

并重启php.下图为修改前后的差别.

本站为军哥LNMP.org的1.6版环境,php.ini在/usr/local/php/etc目录下,php重启命令为/etc/init.d/php-fpm restart 仅供参考.

3324744567

配置CDN后获取访客真实IP

网站在部署CDN后,一般无法获取访客真实IP,只能获取各CDN节点IP,解决此问题可修改站点根目录下的

config.inc.php

添加以下代码:

if(isset($_SERVER['HTTP_X_FORWARDED_FOR'])) {
  $list = explode(',',$_SERVER['HTTP_X_FORWARDED_FOR']);
  $_SERVER['REMOTE_ADDR'] = $list[0];
}

结语

感谢网友

寒夜方舟

的耐心解答,帮我完成了这次CDN部署.来源链接请参考:

文中提到的301跳转和强制HTTPS,可以参考以下链接:


本站提供免费和付费的技术支持.你可以通过留言,邮件,TG群的方式来技术交流和免费咨询.同时也可以付费支持的方式获得相关的技术支持,项目部署配置等服务.具体相关详情请点击查看 技术支持页面

© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享