专栏首页程序猿石头腾讯云服务器, 域名备案及 CDN 服务体验

腾讯云服务器, 域名备案及 CDN 服务体验

以下原因促使我要用腾讯云服务器以及将裸奔了6~7年的域名进行ICP备案:

  1. 刚开通的微信公众号, 积极性高涨, 然而每次微信里面跳转到我的 blog, 都会出现上图所示的跳转中间页. 默认继续访问还是看到微信转码后的效果, 影响用户体验. 我尝试申请恢复了几次没有效果. 申请页面提示备案域名可能性增大, 另外微信后台可以设置安全 JS 域, 域名也必须是通过备案的域名.
  2. 之前用的国外的 VPS, 陆陆续续写过几个工具, 前端时间朋友圈有个求助正好是我之前工具能够解决的. (这个工具是根据关键字自动去 Google scholar 将文章的 bibtex 信息导出, 方便写 paper ) 然而, 之前工具用 PHP 写的, 跑在 VPS 上, 由于后来我 彻底放弃了 wordpress, 直接用 github pages 提供的服务 host 我的 blog, 因此 此工具也不能 work 了, 且之前的 VPS 很慢.
  3. 微信公众号后台的一些开发工具等功能支持也必须是通过备案的域名.

另外, 程序猿有个自己稳定的网络开发环境(程序猿开发不都是 copy from stackoverflow/Google 么, 哈哈 ?)也是极好的. 所以最终决定购买了腾讯云服务器, 另外还赠送了半年的 CDN 服务, 这对于加快我那个无人问津(最近还是平均有个4~500 PV)的 Blog 也是极好的.

于是就购买了~ 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 这么火, 也应该凑凑热闹. 安装好 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 就直接 pull, 并安装. 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 check 一下能够 work.

(发现微信配图水印这个功能怪怪的, 有时候添加水印会把整个图片如下图外面增加一曾厚厚的黑边框背景, 也不知道什么情况下会中招, 下次还是关了这个功能好了. 有人知道么?)

事后才发现, 上面的那个环境果然仅仅是一个 wp-client, 并不是我想要的 wordpress, 不过另外再下一个 wordpress 源码包就可以了.

对, 目前这台主机上就跑了一个 wordpress, 博主不是我, 是自称北邮最美女博士, 站点是 论如何get博士成就 — 北邮不会码代码的博士生中最不会码代码的博士生的博士生活, 网址是 www.dr-sun.cn, 没错, 就是 孙博士, 欢迎大家关注.

其实, docker 官网就有相应的 wordpress 镜像, 可以直接拉取, 或者直接从 CentOS github拉去也行.

docker 其实, 我并不太会, 只是之前从白老板, 胖子那里学了两招而已. 如果你要采用基于 Docker 的方案可以参考这篇文章如何在 Docker 容器中架设一个完整的 WordPress 站点.

说到这里, 可以来一发广告. 我们部门(宜信大数据创新中心)有个团队在@洪教授(洪强宁) 的带领下开发了一套基于 docker 的 PaaS 系统 — Lain, 早已经开源啦, Github 地址, Lain 是一个其面向技术栈多样寻求高效运维方案的高速发展中的组织,devops 人力缺乏的 startup ,个人开发者。统一高效的开发工作流,降低应用运维复杂度;在 IaaS / 私有 IDC 裸机的基础上直接提供应用开发,集成,部署,运维的一揽子解决方案。

域名备案及 CDN

提起域名备案还是有心理阴影的, 回想本科的时候有过的第一个域名(i3zhai.com, 爱山寨, 求别笑这个域名, 现在已经不属于我了), 花了近2个月时间去工信部申请 ICP 备案, 最后还拒了. 以至于后来的五六年里都没曾想过再去申请备案.

结果这次通过腾讯云去申请备案, 没想到还刚过一周还就给通过了, 果然还是要找个强有力的后盾(代理商)去办事才行啊. 由于备案期间要求网站要关闭, 我就没用我正在用的域名 tanglei.name 去申请备案, 而是通过 tanglei.me 去申请的. 备案限制还蛮多的, 比如你是北京身份证, 只能备案一些常见的后缀如.com/.cn/ 之类的, 有的省市限制了域名注册代理商只能是国内的等等. 还是很 DT 的. 反正, 最后通过曲曲折折的方法最后备下来了.

对了, 腾讯提供的 CDN 服务也只支持给已经备案的域名使用.

先看一下 CDN 大概怎么配置和使用吧, 原理就是你添加一个域名的 CNAME, 指向腾讯的 host, 所以用户发起请求的时候实际是解析到腾讯的 CDN 服务器的, CDN 后台配置一个源站点, 如 www.tanglei.name, 用户请求到 CDN 服务器时, 如果没有命中, 就去源站点请求并将内容缓存至 CDN 服务器.

配置后约几分钟生效, ping 一下发现已经生效了, 931.tc.sp.cdntip.com 就是腾讯对应的 CDN 节点, 不同地方 ping 这个节点对应的实际 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 我的blog文件, 需要在 CDN 设置里将 host 设置为回源host 设置为 www.tanglei.name, 如果不设置, 请求 www.tanglei.me会到 github pages 拉页面, github pages 里面不认 www.tanglei.me 这个 host, 就会出现 404.

回源 host 配置成 www.tanglei.name, 会直接去 www.tanglei.name 这里去拉文件进行缓存, 现在就 OK 了.

现在直接请求 www.tanglei.name 会取 github pages 的文件, 通过 www.tanglei.me 取会走腾讯云的 CDN, 来个对比结果. 前面说的提升32倍稍微有些夸张, 提升个五六倍还是正常的. 对比的是 这个含有一些图片的页面, 测速还有一些如 USA的节点, 还拉低了平均值, 国外的一些节点还是走 github 更快.

接入 CDN 后台看到的差不多1天后的效果, 没骗你吧, 一天也就400~500 PV.

TODO

现在是两个域名生效, 下一步得做一个301跳转, 不然两个站内容一样, 在 SEO 肯定不友好, 还拉低两个站的权重. 貌似用 github 直接 host 还不太好做, 所以准备自己 host.

计划仍然通过 travis-ci, 直接 git commit .md 文件后, CI 负责帮忙自动从 github 中 pull 代码进行 build 并部署到腾讯云, 进而更新站点. travis-ci 这个工具, 程序猿也应该了解下.

后续还可以做的就是全站 HTTPS 的支持, 虽然对于本 blog 来说并没有什么卵用, 然而我就想试试, 哈哈哈哈. 其实还是有用的, 比如有利于 SEO, 然后自己也可以练练手.

对了, Last but not the least, 如果你还是在校学生的话, 去腾讯云有惊喜哦~

本文分享自微信公众号 - 程序猿石头(tangleithu),作者:tanglei

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2016-12-08

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 一个由跨平台产生的浮点数bug | 有你意想不到的结果

    背景就简单点儿说,当初一个项目 C# 编写,涉及浮点运算,来龙去脉省去,直接看如下代码。(为什么有这个问题产生,是因为当初线上产生了很诡异的问题,和本地调试效果...

    程序猿石头
  • 大家都知道递归,尾递归呢?什么又是尾递归优化?

    今天,我们来聊聊递归函数。为啥突然想到递归?其实就从电影名字《恐怖游轮》《盗梦空间》想到了。

    程序猿石头
  • if快还是switch快?解密switch背后的秘密

    条件判断语句是程序的重要组成部分,也是系统业务逻辑的控制手段。重要程度和使用频率更是首屈一指,那我们要如何选择 if 还是 switch 呢?他们的性能差别有多...

    程序猿石头
  • 新网云虚拟主机绑定 CNAME 不当网站打不开的解决办法

    魏艾斯博客www.vpsss.net
  • 有问题,找传输?

    传输网,是通信网络的重要组成部分。没有它,网络的不同设备之间,就无法进行数据通信。

    鲜枣课堂
  • Dora.Interception,为.NET Core度身打造的AOP框架:全新的版本

    Dora.Interception 1.0(Github地址:可以访问GitHub地址:https://github.com/jiangjinnan/Dora)...

    蒋金楠
  • SpringBoot 2.x项目jar包部署

    如果此处不指定mainClass的话,很有可能就是项目可以打包成功,并且可以java -jar *.jar成功启动,但是访问不了任何服务。

    程裕强
  • 阿里元老汪海将接任B2B事业部总经理一职,脸书宣布将利用AI识别自杀倾向用户 | 大数据周周看

    数据猿导读 传阿里元老级人物汪海或将接任阿里B2B事业部总经理一职;Facebook宣布开启新篇章,要用人工智能识别自杀倾向用户;金融大数据公司“佳锐科技”正式...

    数据猿
  • 五大常见的MySQL高可用方案

    关于对高可用的分级在这里我们不做详细的讨论,这里只讨论常用高可用方案的优缺点以及高可用方案的选型。

    菲宇
  • 10款常见MySQL高可用方案选型解读

    关于对高可用的分级我们暂不做详细的讨论,这里只讨论常用高可用方案的优缺点以及选型。

    AI乔治

扫码关注云+社区

领取腾讯云代金券