V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
tl3shi
V2EX  ›  站长

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

  •  1
     
  •   tl3shi · 2016-12-16 23:46:25 +08:00 · 7887 次点击
    这是一个创建于 2934 天前的主题,其中的信息可能已经有所发展或是发生改变。

    仍然是拉流量来的. 原文在这里, 原文内容跟帖到这里的一模一样, 你不用点开原文看, (当然如果你感兴趣看看其他文章也非常 welcome).

    以下原因促使我要用腾讯云服务器以及将裸奔了 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 环境,

    qcloud-lamp-oneinstack

    注意, 云服务器初始化好之后, 要配置安全策略, 对外开放的端口等.

    Docker

    Docker 这么火, 也应该凑凑热闹. 安装好 docker 环境后, 搜索一下镜像.

    [root@VM_3_4_centos ~]# docker search lamp
    NAME                              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 images
    REPOSITORY                        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.

    qcloud-docker-lamp-wordpress

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

    对, 目前这台主机上就跑了一个 wordpress, 博主不是我, 是自称北邮最美女博士, 站点是 论如何 get 博士成就 -- 北邮不会码代码的博士生中最不会码代码的博士生的博士生活, 网址是 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 服务器.

    腾讯云 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 配置效果

    能看到 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 对比效果

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

    腾讯云 CDN 对比效果

    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, 如果你还是在校学生的话, 去腾讯云有惊喜哦~ 看到这个消息的并受益的同学别忘了回来分享, 并给我点赞.


    p.s 如果你觉得这文章对你有那么一点点收获, 请不要犹豫扫描下面二维码关注我的公众号, 如果你再能帮忙转发一下就更好了. 么么哒.

    tanglei 微信号

    第 1 条附言  ·  2016-12-17 16:03:06 +08:00
    update, 文章是 10 天前些的, 目前 tanglei.name 也已经备案并上 CDN 了, tanglei.me 目前做了 301.
    34 条回复    2016-12-19 08:58:33 +08:00
    blanu
        1
    blanu  
       2016-12-17 00:15:22 +08:00
    服务器价格呢?我也是正在腾讯云备案(目前在校,用了学生 1 元云主机),周四在实体店拍完照,到现在那家店还没给我上传,周二不上传我就打电话去问了。。
    备案后主域名如果不指向腾讯云不知道会不会被腾讯发现然后取消备案接入啊。。有人说只要保留一两个二级域名指向就行了( https://www.zhihu.com/question/53338476/answer/134809920 )。
    xiamx
        2
    xiamx  
       2016-12-17 00:23:44 +08:00
    挺好的,文笔和排版有很大的提升空间, OP 加油
    ianzhou233
        3
    ianzhou233  
       2016-12-17 00:28:00 +08:00 via Android
    没备案被检测到了,准备弃坑。 BTW ,问问在阿里买的域名,解析到自己的国外 vps ,需要备案么?谢谢
    blanu
        4
    blanu  
       2016-12-17 00:31:20 +08:00
    @ianzhou233 这个不需要,哪怕需要你也可以选择接入 cloudxns 这样的 dns 服务商
    tl3shi
        5
    tl3shi  
    OP
       2016-12-17 00:34:13 +08:00
    @xiamx 排版问题, 阅读原文应该会好些. :)
    @ianzhou233 一般情况下域名解析不需要备案吧.
    @blanu 最低端的配置 65,你学生优惠不就只花 1 元么. 不过玩玩也够了. 有这个风险. 但既然都备案了, 就解析到腾讯云呗, 我目前 www 二级域名指向腾讯云, 其他都随便指.
    ericgui
        6
    ericgui  
       2016-12-17 01:28:55 +08:00
    腾讯云的备案一周就 OK 了?我靠,阿里云备案要将近一个月啊
    mytsing520
        7
    mytsing520  
       2016-12-17 01:56:52 +08:00   ❤️ 1
    @tl3shi 目前已经在下发红头文件全面普查各地接入商上接入的网站的备案情况,要求未备案的域名,如果解析服务在国内的,禁止提供 DNS 解析服务。

    @blanu 嗯,可以将主机头接入服务商自身,然后 www 做 CDN ,至于 IP 地址暴露的问题,你可以将主机头对应的 host 做成 301 ,这个是目前推荐的解决方案。
    mytsing520
        8
    mytsing520  
       2016-12-17 01:58:30 +08:00
    @ericgui 看他所在的地方。

    @blanu @tl3shi 红头文件来源,参阅《工业和信息化部关于开展互联网基础管理专项行动的通知(工信部信管函[2016]485 号)》 http://www.miit.gov.cn/n1146295/n1652858/n1652930/n3757020/c5402051/content.html
    blanu
        9
    blanu  
       2016-12-17 02:18:48 +08:00
    @mytsing520 看来以后只会越来越严啊…… 301 跳转不是 HTTP 协议层面的吗?那还是会暴露 IP 地址啊
    cjjia
        10
    cjjia  
       2016-12-17 07:03:13 +08:00 via Android
    真搞不懂他们的逻辑,备案只把域名和身份证对应起来不就行了!还必须要有一个接入商,域名不指向那个接入商还会被注销备案。是为了方便关键时刻关拆硬盘么?

    想把域名备案用国内的 cdn ,主机依旧用国外的都不行。
    Showfom
        11
    Showfom  
       2016-12-17 07:12:40 +08:00 via iPhone
    建议以后文章里尽量少出现口语化的语句 多严谨一些 装了 oneinstack 以后再装 docker 干嘛?
    panda1001
        12
    panda1001  
       2016-12-17 09:09:21 +08:00 via Android
    @cjjia 我在阿里备的案解析到腾讯云有影响吗,已经正常使用了大半年
    zangev5
        13
    zangev5  
       2016-12-17 09:38:48 +08:00
    @panda1001 在阿里云接入的备案,想解析到腾讯云服务器,还需要在腾讯云完成备案接入的。
    服务商认工信部备案记录,也认你在我这里再留个文件的记录。可以这么去理解
    panda1001
        14
    panda1001  
       2016-12-17 09:42:08 +08:00 via Android
    @zangev5
    可能是一直走 https 没被发现,为了防止备案被阿里吊销,特地把一个二级域名解析到阿里的机子上
    zangev5
        15
    zangev5  
       2016-12-17 09:50:14 +08:00
    @panda1001 恩,是这个因素的
    Sunnyyoung
        16
    Sunnyyoung  
       2016-12-17 09:58:43 +08:00
    腾讯云的 CDN 坑还是有的

    1. 全 HTTPS 的站经常无法跳转 HTTPS ,只能 HTTP
    2. 不支持 HTTP2
    wshedu
        17
    wshedu  
       2016-12-17 10:43:32 +08:00
    dutuji.com 已收藏
    mytsing520
        18
    mytsing520  
       2016-12-17 11:00:29 +08:00
    @blanu 再买一个公网 IP 或买个小空间就可以解决
    renyiqiu
        19
    renyiqiu  
       2016-12-17 11:00:33 +08:00
    想问下,我一个网站,程序与图片服务器是分离的,主站域名, abc.com ;图片服务器两个, img.d.com ,img.e.com ,那么我绑定 CDN 的时候,只绑定图片服务器的那两个就行了是么。
    dreamcountry
        20
    dreamcountry  
       2016-12-17 11:00:39 +08:00
    @mytsing520
    @ianzhou233

    工信部原文:域名注册和解析服务企业,应严格执行境内接入网站域名“未备案,不解析”,即对境内接入的未备案网站域名不予解析(含跳转),不得对列入黑名单的域名提供注册和解析服务,配合各地通信管理局停止违法违规网站域名解析。


    --------- 这里说的“境内接入网站”指的是服务器放在国内的网站,服务器放在国外的应当是接入服务在国外。所以只要是服务器放在国外的网站,域名解析放在国内并不违反工信部的规定。
    mytsing520
        21
    mytsing520  
       2016-12-17 11:00:49 +08:00
    @cjjia 这条是为了防止代备案
    mytsing520
        22
    mytsing520  
       2016-12-17 11:01:55 +08:00
    @dreamcountry 所以有一种情况叫国内免备案主机,这条针对这类服务开设
    mytsing520
        23
    mytsing520  
       2016-12-17 11:02:56 +08:00
    @renyiqiu 如果图片服务器的流量特别大,服务器本身扛不住的情况下,可以考虑图片服务器 CDN ,主站维持现状
    dreamcountry
        24
    dreamcountry  
       2016-12-17 11:19:08 +08:00
    @mytsing520 我是针对您这句话说的“要求未备案的域名,如果解析服务在国内的,禁止提供 DNS 解析服务。” 你的这句话意思是未备案的域名国内不能解析。实际是服务器在国外的,域名可以在国内解析。
    EricTLO
        25
    EricTLO  
       2016-12-17 12:31:28 +08:00
    腾讯云的学生机真的是给学生用么,不用脚本根本抢不到的啊=、=
    还是说有别的什么分享嘛?
    blanu
        26
    blanu  
       2016-12-17 14:50:21 +08:00
    @EricTLO 我是之前不用抢的时候就弄到了,之后直接领券即可
    tl3shi
        27
    tl3shi  
    OP
       2016-12-17 15:42:02 +08:00   ❤️ 1
    @Sunnyyoung 我目前就用的腾讯云 CDN, 现在已经支持 HTTPS 了. (目前我用的是腾讯云提供的 TrustAsia DV SSL CA - G5 证书), 效果 https://www.tanglei.name .
    @Showfom "装了 oneinstack 以后再装 docker 干嘛? " 我就是试试, 玩玩罢了. "口语化" 额, 只有这个水平了.
    blanu
        28
    blanu  
       2016-12-17 15:53:54 +08:00
    @tl3shi 现在 tanglei.name 也上 CDN 了?这个域名没有备案怎么能上的😓,不太明白。
    tl3shi
        29
    tl3shi  
    OP
       2016-12-17 16:00:01 +08:00
    @blanu 备案了哈. 所以我之前用 tanglei.me 的 CDN, 现在都全都跳转到 tanglei.name 了. 这篇文章是 1 周前写得了. 我微信公众号里面的链接现在都还是 tanglei.me, 不过都做了 301 到 tanglei.name 了. 因为之前也用 tanglei.name 用得多. 所以还是切换了.
    Sunnyyoung
        30
    Sunnyyoung  
       2016-12-17 22:29:59 +08:00
    @tl3shi 请问你的 HTTP 根域名跳转 HTTPS WWW 二级域名是怎么配置的
    i2000s
        31
    i2000s  
       2016-12-18 10:56:00 +08:00
    @tl3shi 域名备案可以通过只买个腾讯 CDN 来做吗?主机配置之类的没经验,毕竟网站跟你一样都是 github 上 travis-CI 自动配置,不过希望有个 https 支持(我现在一直用 cloudflare )。我在国外不了解行情,请指点一二。谢谢。
    tl3shi
        32
    tl3shi  
    OP
       2016-12-18 23:45:25 +08:00
    @Sunnyyoung 后台通过 nginx 做了 url rewrite 哈.
    @i2000s 刚看了一下, 腾讯的域名备案服务需要的条件为: 1) 云主机, 2) 负载均衡, 3) 备案授权码 (应该是借用别人的主机来备案), 其中 3 个满足任意一个就可以申请.
    Sunnyyoung
        33
    Sunnyyoung  
       2016-12-19 08:37:35 +08:00 via iPhone
    @tl3shi 裸域怎么做 CDN ,貌似会和 MX 冲突,如果裸域不做 CDN 的话也是会暴露源 IP😐
    tl3shi
        34
    tl3shi  
    OP
       2016-12-19 08:58:33 +08:00 via iPhone
    @Sunnyyoung 呀,你再弄个域名不就得了。比如 cdn.xx.xx cdnmiss 的情况下能去这里拉到就行啦

    Ps 欢迎关注微信公众号 交流 😁
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2478 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 26ms · UTC 02:43 · PVG 10:43 · LAX 18:43 · JFK 21:43
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.