前言
建站大半年一直没有太过注重网站的速度.主要是因为新站访问量过低,没有部署的必要,其次就是本人实在是不太了解CDN相关的知识.现在访问量逐渐增加,为了保证网站的访问体验,在网上查找了相关教程,同时也咨询了热心网友后,正式把本站部署到了腾讯云CDN.
为方便后期复用的需求,本文将记录此次部署的全部流程,同时也可以供大家参考.
本文为 Stille 原创文章.经实践,测试,整理发布.如需转载请联系作者获得授权,并注明转载地址.
前期环境
由于CDN的设置比较特殊,请不要参照多篇教程对比设置,以至于会出现无法登录后台,无法实时显示评论等问题.本教程是以Typecho博客程序并使用handsome主题为例.
本站服务器相关环境
- LNMP环境
- 部署SSL证书并强制跳转HTTPS
- 顶级域名
ioiox.com
配置301跳转到二级域名
www.ioiox.com
为主用域名
添加域名
腾讯云 – 控制台 – 内容分发网络
域名管理 – 添加域名
- 域名配置 – 添加顶级域名和www二级域名
- 源站类型 – 自有源站
- 源站设置 – 你的服务器IP
也可以只添加一个主用域名,必须确定已经配置好301跳转访问你的主用域名
- 业务类型 – 静态加速
- 提交 – 缓存过滤可以等会再详细配置
管理域名
添加成功后点击域名右侧的管理
基本配置
- 确认域名,业务类型,源站信息,回源配置无误,保持默认即可.
访问控制
- 过滤参数配置 – 开启
- 防盗链配置 – 根据实际情况配置
- IP黑白名单配置 – 根据实际情况配置
- IP访问限制配置 – 开启 10-30QPS即可
- 视频拖拽 – 默认关闭
缓存配置
- 缓存过期配置 – 高级缓存过期设置:默认关闭
- 新增缓存配置 – 参考下图
如不懂请保持与图中顺序和参数一致,以避免一些问题.
以下给出文本以方便复制
/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注意图中首页缓存时间为1天,也可以根据更新文章的频率高低,来适当降低刷新时间.建议1-6小时之间皆可.
- 状态码缓存 – 默认
- HTTP头部缓存配置 – 开启
如果HTTP头部缓存配置开启,需关闭源站的HSTS,避免头部冲突.
一般情况下Nginx和Apache默认是没有配置过HSTS的.你也可以自行搜索相关教程来再次确认是否开启.
一般情况下Nginx和Apache默认是没有配置过HSTS的.你也可以自行搜索相关教程来再次确认是否开启.
回源配置
- Range回源配置 – 开启
- 回源跟随301/302配置 – 默认关闭
回源跟随301/302配置请一定不要开启,否则会出现无法登录的情况.
安全配置
- 鉴权配置 – 默认关闭
高级配置
- 带宽封顶配置 – 开启并根据实际情况配置
- HTTPS配置 – 前往配置
- 配置证书 – 可上传自有证书,也可以在腾讯云免费申请.
- 选择回源方式 – 协议跟随
- HTTPS配置 – 开启强制跳转HTTPS
- 跳转方式设置 – 301跳转
- HTTP2.0配置 – 开启
- SEO优化配置 – 开启
- HTTP Header配置 – 添加HTTP Header
添加HTTP Header 可使你的站点使用CDN时SSL证书等级达到A+级
选择自定义参数 Strict-Transport-Security max-age=31536000; includeSubdomains; preload;
- 智能压缩 – 启用
请自行检查你的源站是否开启Gzip智能压缩,如已经开启,此处可关闭.
配置完成
此时需将域名进行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 仅供参考.
配置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