云服务器上搭建 Typecho 博客

准备工作

域名

可以选择国内阿里云 or 腾讯云域名(需要实名备案,15-20 天左右),或者国外 Namesilo、Namecheap 注册商。

后缀推荐.com,.cn 等,搜索引擎收录快一点。

域名尽量短一点,方便游客记住。

云服务器

对于服务器选择,一般分为国内服务器和国外服务器,大致区别如下:
国内服务器需要域名备案才能使用,缺点是价格贵(学生机会便宜些),带宽低;优点是国内访问很稳定,同时也可以使用国内 CDN 加速。
国外服务器不需要域名备案,缺点是网络可能会经常波动(钱加够的话,也许可以解决);优点大概是比国内便宜,带宽足。
香港服务器也是不需要备案的,访问速度和国内差不多,如果不想备案,可以直接选择香港服务器。

DNS 解析

在域名服务商后台,找到DNS解析设置,解析域名(主域名或者二级域名)的A记录到服务器的IP地址。保存之后等待设置的 TTL 时间,国内阿里云 or 京东云 or 腾讯云都是 10 分钟(也就是所谓的 600s),之后解析就会生效。

解析记录类型

  • A:地址记录,用来指定域名的 IPv4 地址(如:8.8.8.8),如果需要将域名指向一个 IP 地址,就需要添加 A 记录。
  • CNAME: 如果需要将域名指向另一个域名,再由另一个域名提供 ip 地址,就需要添加 CNAME 记录。
  • NS:域名服务器记录,如果需要把子域名交给其他 DNS 服务商解析,就需要添加 NS 记录。
  • MX:如果需要设置邮箱,让邮箱能收到邮件,就需要添加 MX 记录。
  • TXT:在这里可以填写任何东西,长度限制 255。绝大多数的 TXT 记录是用来做 SPF 记录(反垃圾邮件)。
  • AAAA:用来指定主机名(或域名)对应的 IPv6 地址(例如:ff06:0:0:0:0:0:0:c3)记录。
  • LINK:CloudXNS 的私有类型,可将用户配置的 CNAME 隐藏。
  • AX:CloudXNS 的私有类型,可以填写优先级(即承担访问的百分比),单条 AX 记录与 A 记录效果一样。
  • CNAMEX:CloudXNS 的私有类型,可以填写优先级(即承担访问的百分比),单条 CNAMEX 记录效果同 CNAME。
  • SRV:记录了哪台计算机提供了哪个服务。格式为:服务的名字、点、协议的类型,例如:_xmpp-server._tcp。
  • 301 跳转(显性 URL):从一个地址 301 重定向到另一个地址。
  • 302 跳转(显性 URL):从一个地址 302 重定向到另一个地址。
  • 隐性跳转:用 FRAME 的形式,调用跳转地址,达到隐藏跳转地址目的。
  • CAA:证书颁发机构授权 格式 flag tag value

TTL 时间

其实 TTL 就是一个生存时间,简单的说它表示 DNS 记录在 DNS 服务器上缓存时间。

假设一条 DNS 记录为 www.dujin.site,对应的 IP 地址为 8.8.8.8,他的 TTL 为 10 分钟(也就是我们常见的 600 秒),这条记录存储在一台 DNS 服务器上。

现在有一个用户在访问 www.dujin.site 时,网络服务商的 DNS 就会试图为用户解析 www.dujin.site,当然网络服务商这台 DNS 服务器并没有包含 www.dujin.site 这条信息,因此无法立即解析,但是通过全球 DNS 的递归查询后,最终定位到 www.dujin.site 这台 DNS 服务器对应的 IP 地址为 8.8.8.8 并将结果告诉告诉网络服务商的 DNS 服务器,然后再由 网络服务商告诉用户结果。

网络服务商为了以后加快对 www.dujin.site 这条记录的解析,就将刚才的 8.8.8.8 结果保留一段时间,这段时间就是 TTL 值,在这段时间内如果用户又有对 www.dujin.site 这条记录的解析请求,它就直接告诉用户 IP 地址为 8.8.8.8,当 TTL 到期则又会重复上面的过程。这里也附上一张网上的域名解析 TTL 值设置建议表。

域名解析 TTL 值设置建议表

| IP 经常变动 | 动态 IP | 宕机检测 | 服务器架构 | 建议 TTL 值 |
| 否 | 否 | 不使用 | 单服务器 | 600 |
| 否 | 否 | 使用 | 多服务器 | 180 |
| 是 | 否 | 不使用 | 单服务器 | 300 |
| 是 | 是 | 不限 | 不限 | 120 |
| 否 | 否 | 是 | 大型商业网站 | 60 |
| 否 | 否 | 否 | 热备、容灾、IP 固定 | 3600 |

安装

  1. 在云服务器商后台给新买的云服务器重装系统,推荐CentOS7.1+系统;
  2. 使用 SSH 工具连接云服务器,安装宝塔运维面板;
  3. 宝塔面板内一键部署 typecho;

为什么选择 CentOS

服务器操作系统大多采用 Unix 和 Linux 操作系统,而 Linux 发行版本系统中,多使用 CentOS、Redhat、Ubuntu、Gentoo、Debian。而这些发行版本可以大体分为两类,一类是商业公司维护的发行版本,一类是社区组织维护的发行版本,前者以著名的 Redhat(RHEL)为代表,后者以 Debian 为代表。

在选择系统时,我们希望找到一个可靠的,可预测的系统,并且有强大的软件供应商和开源项目中获得强有力的支持。从可靠性、硬件兼容性和生命周期来对比 Redhat 与 Debian:

可靠性

Redhat,应该称为 Redhat 系列,包括 RHEL(RedhatEnterprise Linux,收费版本)、CentOS(Community ENTerprise Operating System,开源版本),是由红帽公司测试维护,并在 Linux 内核稳定分支上进行开发,系统相对稳定。Debian 系列,包括 Debian 和 Ubuntu 等,是社区类 Linux 的典范,分为三个版本分支(branch): stable, testing 和 unstable。其中,unstable 为最新的测试版本,其中包括最新的软件包,但是也有相对较多的 bug,适合桌面用户。Ubuntu 是基于 Debian 的 unstable 版本加强而来,一个拥有 Debian 所有的优点,以及自己所加强的优点的近乎完美的 Linux 桌面系统,界面非常友好,容易上手,对硬件的支持非常全面,是最适合做桌面系统的 Linux 发行版本。

硬件兼容性

RHEL 对硬件的支持很好,主流硬件厂商早就将服务器拿过去测试,一般不存在硬件的兼容性问题。对于 Debian 来说,由于版权和代码纯洁性考虑,一些硬件驱动和软件被删掉了,导致安装过程有问题

生命周期

CentOS/RHEL 的生命周期是 7 到 10 年,基本上可以覆盖硬件的生命周期,也就意味着一个新硬件安装以后,不用再次安装操作系统。而 Debian 的生命周期是不固定的,一般新版本发布以后,上个版本再维护 18 个月。而 Debian 的版本发布时间间隔不稳定,经常会延期。综合起来一个版本的生命周期一般在 3~4 年。如果选用了 Debian 或者 Ubuntu 作为服务器,等生命周期过了以后,就没有安全补丁,服务器就会有安全风险。

总结

基于以上对比,在给服务器选择 Linux 操作系统时,我们会优先考虑 Redhat 系统的操作系统。

由于 CentOS 源于 Red Hat 企业级 Linux(RHEL)的源代码,依照开放源代码规定释出的源代码所编译而成。由于 CentOS 开源特性,选择 CentOS 可以降低成本,同时又能够享受 RHEL 的服务支持。

安装宝塔运维面板

官网:https://www.bt.cn

宝塔 Linux 面板是提升运维效率的服务器管理软件,支持一键 LAMP/LNMP/集群/监控/网站/FTP/数据库/JAVA 等 100 多项服务器管理功能。
有 20 个人的专业团队研发及维护,经过 200 多个版本的迭代,功能全,少出错且足够安全,已获得全球百万用户认可安装。运维要高效,装宝塔。

宝塔面板特色功能

  • 一键配置服务器环境(LAMP/LNMP)
  • 一键安全重启
  • 一键创建管理网站、ftp、数据库
  • 一键配置(定期备份、数据导入、伪静态、301、SSL、子目录、反向代理、切换 PHP 版本)
  • 一键安装常用 PHP 扩展(fileinfo、intl、opcache、imap、memcache、apc、redis、ioncube、imagick)
  • 数据库一键导入导出
  • 系统监控(CPU、内存、磁盘 IO、网络 IO)
  • 防火墙端口放行
  • SSH 开启与关闭及 SSH 端口更改
  • 禁 PING 开启或关闭
  • 方便高效的文件管理器(上传、下载、压缩、解压、查看、编辑等等)
  • 计划任务(定期备份、日志切割、shell 脚本)
  • 软件管理(一键安装、卸载、版本切换)

宝塔 Linux 面板官方安装教程: https://www.bt.cn/bbs/thread-19376-1-1.html

安装要求

内存:512M 以上,推荐 768M 以上(纯面板约占系统 60M 内存)
硬盘:100M 以上可用硬盘空间(纯面板约占 20M 磁盘空间)
系统:CentOS 7.1+ (Ubuntu16.04+.、Debian9.0+),确保是干净的操作系统,没有安装过其它环境带的 Apache/Nginx/php/MySQL(已有环境不可安装)

主机商控制台放行相关端口

如果购买的是国外主机商的云服务器,可以跳过这一步。如果购买的是国内主机商的云服务器,必须在主机商的控制台中放行相关端口。

腾讯云:https://www.bt.cn/bbs/thread-1229-1-1.html

阿里云:https://www.bt.cn/bbs/thread-2897-1-1.html

华为云:https://www.bt.cn/bbs/thread-3923-1-1.html

安装宝塔面板

使用 root 权限执行以下命令。

## Centos安装脚本
yum install -y wget && wget -O install.sh http://download.bt.cn/install/install.sh && sh install.sh

## Ubuntu/Deepin安装脚本
wget -O install.sh http://download.bt.cn/install/install-ubuntu.sh && sudo bash install.sh

## Debian安装脚本
wget -O install.sh http://download.bt.cn/install/install-ubuntu.sh && bash install.sh

## Fedora安装脚本
wget -O install.sh http://download.bt.cn/install/install.sh && bash install.sh

试验性 Centos/Ubuntu/Debian 安装命令支持 ipv6,注意使用 root 权限执行此命令 (支持 Centos8)

curl -sSO http://download.bt.cn/install/new_install.sh && bash new_install.sh

安装完成后会直接在SSH客户端显示后台信息。

面板管理常用命令

面板管理常用命令 https://www.bt.cn/btcode.html

插件部署typecho
宝塔安装LNMP套件2
宝塔安装LNMP套件1
安装宝塔一键部署源码插件
安装宝塔面板

插件部署typecho
宝塔安装LNMP套件2
宝塔安装LNMP套件1
安装宝塔一键部署源码插件
安装宝塔面板

宝塔部署typecho博客5
宝塔部署typecho博客4
宝塔部署typecho博客3
宝塔部署typecho博客2
宝塔部署typecho博客

宝塔部署typecho博客5
宝塔部署typecho博客4
宝塔部署typecho博客3
宝塔部署typecho博客2
宝塔部署typecho博客


   Reprint policy


《云服务器上搭建 Typecho 博客》 by Ryanjie is licensed under a Creative Commons Attribution 4.0 International License
  TOC