腾讯云服务器, 域名备案及 CDN 服务体验
温馨提示:这篇文章已超过603天没有更新,请注意相关的内容是否还可用!
以下原因促使我使用了腾讯云服务器和我裸露了6-7年的域名进行ICP备案:
刚开通微信公众号,热情高涨。但是每次在微信里跳转到我的博客,都会有一个中间页面,如上图。默认还是看到微信转码的效果,影响用户体验。. 我多次尝试申请恢复,但没有成功。申请页面显示域名注册的可能性较大。另外,微信后台可以设置一个安全的JS域,域名也必须是注册通过的域名。
之前用的是国外的VPS,陆续写了好几个工具。前端时间朋友圈有求助,正好用我之前的工具解决了。(这个工具会自动去google scholar根据关键词导出文章的bibtex信息,方便写论文) 不过之前的工具是用PHP写的,跑在VPS上。后来彻底放弃了wordpress,直接使用github pages提供的服务来托管我的博客,于是这个工具就不能用了,之前的VPS很慢。
微信公众号后台的一些开发工具等功能支持也必须注册域名。
另外,程序员有自己稳定的网络开发环境(程序员的开发不都是从stackoverflow/谷歌copy过来的吗,哈哈)也很好。所以最后还是决定买个腾讯云服务器,还给了半年的CDN服务,这对我这个无人问津的博客提速也很棒(最近平均有4~500个PV)。
于是买了~CPU 1核,1G Mem,1Mbps,20G硬盘,最低配。
搭载CentOS 7系统。
服务器到手后,首先就是配置环境。我们先搭建一个LAMP环境。有两种更快的方法。
云服务器环境一键安装工具
类似于之前清华长笛协会(THUFlute)搭建环境使用的XAMPP。linux下也有类似的。可以参考这篇文章在Linux服务器上一键安装LAMP/LNMP/LANMP环境
wget http://mirrors.linuxeye.com/oneinstack-full.tar.gz
tar -xvf oneinstack-full.tar.gz
cd oneinstack && ./install.sh
一段时间后,Nginx、Apache、Mysql、PHP环境安装完毕,
注意,云服务器初始化后,还需要配置安全策略,开放端口等。
码头工人
Docker这么火腾讯云服务器需要备案吗,我们也应该凑热闹。安装docker环境后,搜索镜像。
[root@VM_3_4_centos ~]# docker search lampNAME DESCRIPTION STARS OFFICIAL AUTOMATED
reinblau/lamp Dockerfile for PHP-Projects with MySql client 25 [OK]
nickistre/ubuntu-lamp LAMP server on Ubuntu 12 [OK]
greyltc/lamp a super secure, up-to-date and lightweight... 10 [OK]
nickistre/centos-lamp LAMP on centos setup 8 [OK]
nickistre/ubuntu-lamp-wordpress LAMP on Ubuntu with wp-cli installed 7 [OK]
nickistre/centos-lamp-wordpress LAMP on CentOS setups with wp-cli installed 3 [OK]
nickistre/centos-lamp-xdebug LAMP on centos with xDebug 2 [OK]
...
如果名字里有wordpress,直接拉下来安装。docker pull nickistre/centos-lamp-wordpress
[root@VM_3_4_centos ~]# docker imagesREPOSITORY TAG IMAGE ID CREATED SIZE
hello-world latest c54a2cc56cbb 5 months ago 1.848 kB
nickistre/centos-lamp-wordpress latest 14331568cd2f 6 months ago 547.4 MB
docker run -d -p 1024:80 nickistre/centos-lamp-wordpress 然后 curl localhost:1024 检查可以工作。
(我发现微信图片水印的功能很奇怪,有时候加水印会在整张图片上加一个粗黑边背景如下图,不知道什么情况下会被骗。我下次最好关掉这个功能。。有人知道吗?)
后来发现上面的环境真的只是一个wp-client,并不是我要的wordpress腾讯云服务器需要备案吗,不过我可以再下载一个wordpress源码包。
是的,这台主机上正在运行一个wordpress,博主不是我,而是一位自称北邮最美的医生,网站是关于博士成就如何获得的——北邮博士生中谁能t码,不会码的医生至少是孙医生的命,网址是dr-sun.cn,没错,就是孙医生,欢迎大家关注。
其实docker官网上有对应的wordpress镜像,可以直接拉取,也可以直接从CentOS github上拉取。
其实我对docker了解不多。刚跟白老大和胖子学了两招。如果想采用基于Docker的方案,可以参考这篇文章How to set up a complete WordPress site in a Docker container。
说到这里,你可以发个广告。我们部门(宜信大数据创新中心)的一个团队开发了一个基于docker的PaaS系统——Lain,已经开源啦,Github地址,Lain是一个快速成长的组织,寻求高效的运维解决方案技术堆栈,一家初创公司和个人开发人员,devops 人力短缺。统一高效的开发工作流程,降低应用运维的复杂度;直接提供基于IaaS/私有IDC裸机的应用开发、集成、部署、运维一揽子解决方案。
域名注册和CDN
备案域名还是有心理阴影的。回忆我本科时的第一个域名(i3zhai.com,爱山寨,请不要笑这个域名,现在不属于我了),花了将近2个月的时间才到部工信部申请ICP备案,最终被驳回。以至于在接下来的五六年里,我再也没有想过要备案。
结果这次通过腾讯云申请备案,没想到仅仅一周后就通过了。果然还是得找个靠山(代理人)来办这件事。
由于在备案期间网站被要求关闭,所以我没有使用我正在申请备案的域名tanglei.name,而是通过tanglei.me进行申请。
有相当多的备案限制。比如你有北京身份证,只能申请.com/.cn/等一些常见的后缀,还有一些省市限制域名注册代理只能是国内的等等,还是很DT的. 不管怎么说,总算是通过曲折的方法准备好了。
对了,腾讯提供的CDN服务只能用于注册域名。
我们先来看看如何配置和使用CDN。原理就是你加上一个指向腾讯主机的域名的CNAME,这样当用户发起请求时,实际上是解析到腾讯的CDN服务器。CDN后台配置了一个源站,比如,当用户向CDN服务器请求时,如果没有命中,就去源站请求,将内容缓存到CDN服务器。
配置后大约需要几分钟才能生效。ping一下,发现已经生效了。931.tc.sp.cdntip.com是腾讯对应的CDN节点。该节点对应的实际IP地址在不同地方可能不一致。
➜ ~ ping www.tanglei.me
PING 931.tc.sp.cdntip.com (123.125.46.43): 56 data bytes
64 bytes from 123.125.46.43: icmp_seq=0 ttl=44 time=7.089 ms
64 bytes from 123.125.46.43: icmp_seq=1 ttl=44 time=6.863 ms
64 bytes from 123.125.46.43: icmp_seq=2 ttl=44 time=9.846 ms
^C
--- 931.tc.sp.cdntip.com ping statistics ---
3 packets transmitted, 3 packets received, 0.0% packet loss
round-trip min/avg/max/stddev = 6.863/7.933/9.846/1.356 ms
可以看到CDN已经生效了,然后找个工具查看一下各个地方的延迟情况。ping.chinaz.com,绿了,各地线路ping的IP已经不一样了。速度有了很大的提升, * 32 翻了一倍多。
目前,我的博客文件仍然使用github host。我需要在CDN设置中将主机设置为回源主机。如果没有,请求会去github pages拉取页面。如果主机在github pages中不被识别,就会出现404。
回源主机配置好了,会直接去拉取文件到这里缓存,现在就OK了。
现在直接请求会走github pages的文件,通过走会走腾讯云的CDN对比一下结果。
前面提到的32倍的涨幅有点夸张,涨个五六倍也很正常。相比之下,这个页面包含一些图片,测速中有美国等节点,也拉低了平均值。国外的一些节点还是去github比较快。
连接到CDN后台后,大概1天后就可以看到效果了。我没骗你,每天只有400~500 PV。
去做
现在这两个域名都是有效的,下一步就是进行 301 重定向。否则,两个站点的内容会雷同,这对SEO肯定是不友好的,也会拉低两个站点的权重。好像不太好用github直接托管,所以准备好自己的host。
计划还是使用travis-ci,直接git提交.md文件后,CI负责帮忙自动从github拉取代码构建部署到腾讯云,然后更新站点。程序员还应该了解工具 travis-ci。
以后可以做的就是全站支持HTTPS。虽然对这个博客用处不大,但我就是想试试,哈哈哈哈。其实还是有用的,比如对SEO有好处,然后自己去实践一下。
点击原文链接不会再弹出框?
对了,最后一点,如果你还是学生的话,腾讯云会有惊喜哦~看到这个新闻有想法的同学,别忘了回来分享,点个赞向上。
ps 如果觉得这篇文章对你有一点收获,请在下方点赞,欢迎扫描下方二维码关注我的公众号,如果能帮忙转发就更好了。