首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >Typecho 搭建教程:轻量博客部署与主题配置

Typecho 搭建教程:轻量博客部署与主题配置

原创
作者头像
gavin1024
发布于 2026-10-19 17:32:22
发布于 2026-10-19 17:32:22
450
举报

想要一个只用来写字的博客,装上 WordPress 之后常会觉得重了——后台菜单一大排,插件动不动就要更新,2 GB 内存的机器跑起来还偏慢。Typecho 走的是另一条路:核心程序只有几 MB,原生支持 Markdown,1 核 1 GB 的机器就能流畅跑。本文按我搭这类博客的顺序来写:先判断该不该选它,再部署环境、装程序、配 HTTPS 和伪静态,最后讲几个上线后最容易出问题的地方。

一、先判断:Typecho 适不适合你

选错程序,后面再迁移会很麻烦,所以这一步值得花两分钟。

对比维度

Typecho

WordPress

程序体积

几 MB

几十 MB

资源占用

很低,1 核 1 GB 可流畅运行

较高,建议 2 核 2 GB 起

后台响应

轻快

插件多时会变慢

主题数量

较少,以简洁风格为主

数量庞大,风格齐全

插件生态

覆盖基础需求

几乎任何功能都有现成插件

写作方式

原生支持 Markdown

需要编辑器插件配合

我的判断标准很简单:只写文章、在意打开速度和后台清爽,选 Typecho;需要商城、会员、复杂表单这类功能,直接上 WordPress。

有一类人特别适合 Typecho:习惯用 Markdown 写作的技术作者。原生 Markdown 支持意味着你在本地写好的文档可以直接贴进来,不用来回调格式。

反过来,如果你对主题效果有很具体的要求,Typecho 的主题库可能满足不了——这一点最好在动手前去主题站逛一圈,确认有你能接受的风格。

二、环境准备

项目

最低配置

建议配置

CPU

1 核

1~2 核

内存

1 GB

2 GB

磁盘

20 GB

40 GB

操作系统

Ubuntu 22.04 / 24.04、Debian 12

同左

运行环境:Nginx 或 Apache,PHP 7.4 及以上(我会选 8.1 或 8.2),数据库用 MySQL 5.7 以上、MariaDB 10.2 以上或 SQLite 都行。

数据库这里有个取舍。 SQLite 不用单独装数据库服务,部署最省事;但文章多了以后备份和迁移不如 MySQL 方便,也不好做远程管理。我的建议是:纯个人博客、预计文章量不大,用 SQLite 没问题;打算长期写、或者以后可能换服务器,直接用 MySQL。本文按 MySQL 来写。

需要放通的端口:

端口

协议

用途

22

TCP

SSH 登录(默认已放通)

80

TCP

HTTP,用于证书验证与跳转

443

TCP

HTTPS 访问

面板端口

TCP

面板管理后台

面板端口一定要限制来源 IP,只放通你自己的办公网或家庭宽带出口。面板是整台服务器的控制入口,对全网开放会持续被扫描和尝试登录。

三、部署运行环境

我习惯用可视化面板部署,能省掉手动配 Nginx 和 PHP 的排错时间:

代码语言:bash
复制
sudo apt update && sudo apt upgrade -y
curl -sSL https://resource.fit2cloud.com/1panel/package/quick_start.sh -o quick_start.sh
sudo bash quick_start.sh

安装完终端会输出面板地址、入口路径、账号和密码。这几项立刻存下来——面板地址里有一段自定义路径,丢了得重新登录服务器去查。

登录面板后装三样东西:

  1. 应用商店里装 OpenResty,作为 Web 服务器。
  2. 装 MySQL 8.0,记下 root 密码。
  3. 在网站的运行环境里创建 PHP 8.1。

创建 PHP 环境时确认这三个扩展是开启的:pdo_mysql、mbstring、gd。我见过最多的安装失败就出在这里——缺 pdo_mysql 会在安装向导那一步报连不上数据库,而错误提示并不会告诉你是扩展没装,很容易让人去反复核对数据库密码。

四、部署 Typecho

建库:在面板的数据库里创建库和用户,记下库名、用户名、密码。

建站:创建网站,类型选运行环境,绑定刚才的 PHP 环境,填上域名。

放程序:打开站点根目录,用面板的远程下载功能从 Typecho 官方渠道获取程序包,解压到根目录。

解压后先看一眼文件层级。 压缩包里通常多包了一层目录,需要把里面的内容挪到根目录,或者在站点设置里把运行目录指向那个子目录。这一步弄错,访问时会看到一个文件列表而不是安装页——不报错,但就是不对。

设目录权限:

代码语言:bash
复制
sudo chown -R www:www /站点根目录
sudo chmod -R 755 /站点根目录
sudo chmod -R 777 /站点根目录/usr/uploads

usr/uploads 是附件目录,必须可写,否则后面上传图片会失败。具体的用户名以面板里 PHP 环境实际的运行身份为准,不一定是 www。

走安装向导:浏览器打开站点地址,选 MySQL,填库信息,设管理员账号。

两个细节:

  • 用容器化部署时,数据库地址填容器服务名,不要填 localhost。 在容器里 localhost 指向容器自己,填了一定连不上。这是我被问到最多的问题之一。
  • 管理员用户名别用 admin,密码 12 位以上。博客后台地址是公开可猜的,admin 是爆破脚本第一个尝试的名字。

装完会提示后台地址,通常是站点地址加 /admin。

五、配置域名与 HTTPS

在域名服务商处加两条解析:

主机记录

记录类型

记录值

@

A

服务器公网 IP

www

A

服务器公网 IP

两条都要加,否则带不带 www 只有一个能访问。

解析生效后先验证:

代码语言:bash
复制
dig +short www.example.com

返回的 IP 对了,再去面板的站点 SSL 设置里申请免费证书,签发后开启强制 HTTPS。

然后一定要回 Typecho 后台改站点地址,改成 https 开头。这一步漏掉的话,页面会出现混合内容告警,样式或图片可能加载不出来——而且问题是"部分资源加载失败",不细看还以为是主题坏了。

验证:

代码语言:bash
复制
curl -I https://www.example.com
curl -I http://www.example.com

第一条返回 200,第二条返回 301 跳转到 https,就对了。

服务器位于中国内地、使用域名对外提供服务时,需要先完成 ICP 备案。

六、伪静态:改完不配,文章全部 404

Typecho 默认的文章链接带参数,既不好看也不利于搜索收录。在后台的永久链接设置里开启地址重写,选一个链接格式——按年月加文章缩略名是比较常见的选择。

开启之后,必须在 Web 服务器上配对应的重写规则。 在面板的站点设置里找到伪静态,选 Typecho 的规则保存。

这一步不做,所有文章页都会 404,而首页看起来完全正常。这是 Typecho 新站最典型的"上线就翻车"场景:你改完永久链接,看首页没问题就以为好了,结果读者点进任何一篇文章都打不开。

所以改完永久链接一定要实际点开一篇文章确认。

手动配 Nginx 的话,核心规则是把不存在的路径交给入口文件处理:

代码语言:nginx
复制
location / {
    if (!-e $request_filename) {
        rewrite ^(.*)$ /index.php$1 last;
    }
}

七、主题与插件:克制一点

主题放在 usr/themes 目录,解压进去后在后台外观里启用。

挑主题时我会看三件事:支不支持当前 Typecho 版本、作者是否还在维护、有没有引入一堆外部资源。最后一条容易被忽略——有些主题加载了大量外部字体和脚本,在国内或海外访问时其中某个资源慢了,整个页面都会被拖住。

插件放在 usr/plugins,同样在后台启用。常用的方向:代码高亮、评论增强、站点地图、缓存、图片懒加载。

插件别装太多。 Typecho 的价值就是轻,装上十几个插件,这个优势就没了。我一般只装真正用得上的三五个。

八、上线前逐项验证

验证项

怎么验证

不通过通常是什么原因

HTTPS 访问

curl -I https://域名 返回 200

证书未签发或解析未生效

后台登录

访问后台地址并登录

入口路径错误

发文章

发一篇测试文章,前台可见

数据库读写异常

文章页可访问

点开测试文章

伪静态未配置

图片上传

文章里插一张图并显示

usr/uploads 权限不足

评论

测试文章下发一条评论

评论设置或插件冲突

移动端

手机打开站点

主题不适配移动端

第四项最容易漏,也最容易在上线后才被读者发现。

九、几个常见故障

提示数据库连接失败:先查 pdo_mysql 扩展有没有开,再核对库名、用户名、密码、地址。容器化部署记得地址填容器服务名。

文章页 404:伪静态没配或没生效,按第六节处理。

图片上传失败:三处都要满足——usr/uploads 可写、PHP 上传大小限制、Web 服务器请求体大小限制。只改一处往往不生效。

后台正常但前台空白:多半是主题报错。把当前主题目录临时改个名,Typecho 会回退到默认主题;前台恢复了,就确定是主题的问题。

启用 HTTPS 后样式丢失:站点地址没改成 https,或者旧文章里有 http 开头的图片链接,需要批量替换。

访问慢:Typecho 本身很轻,慢通常另有原因。打开浏览器开发者工具看哪个资源加载最久——十有八九是没压缩的大图,或者主题引的某个外部资源。

十、备份与维护

备份要覆盖两部分:数据库(文章、评论、配置)和站点文件(主题、插件、usr/uploads 下的附件)。

附件目录是最容易被漏掉的。 只备份了数据库,恢复后文章都在,但里面的图片全部裂开。

代码语言:bash
复制
mysqldump -u typecho -p'密码' --single-transaction typecho | gzip > ~/typecho-db-$(date +%Y%m%d).sql.gz
tar -czf ~/typecho-files-$(date +%Y%m%d).tar.gz -C /站点根目录 usr

在面板的计划任务里设成自动执行,并把备份同步到服务器之外。只留在本机的备份,服务器出问题时会一起没。

至少做一次恢复演练。 用备份在另一个环境还原一次,确认文章、评论、图片都在。备份能生成,不等于能恢复。

变更前建快照:升级程序、换主题之前先建一份快照。回滚会把整块系统盘恢复到快照时间点,之后写入的内容会被清除,运行中的实例会自动关机,所以回滚前先确认这段时间有没有新发的文章。

日常维护几件事:关注版本更新及时打安全补丁;开启评论审核或验证,垃圾评论会比你想象的多;检查磁盘剩余空间。

内容方面:文章里用到的图片和引用内容要确认有权使用,转载需要获得授权并标注出处;开放评论意味着你要对评论区内容承担管理责任;不发布违法违规内容。

Typecho 搭起来之后基本不需要怎么操心,这也是我推荐它给纯写作场景的原因。如果后面图片越来越多、带宽开始吃紧,再考虑把附件迁到对象存储并配合内容分发网络加速。

个人博客这类轻量站点,轻量应用服务器的入门套餐即可流畅运行 Typecho,套餐式规格费用透明,配合快照功能可以在升级或换主题前随时保留一份可回退的环境。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

目录
  • 一、先判断:Typecho 适不适合你
  • 二、环境准备
  • 三、部署运行环境
  • 四、部署 Typecho
  • 五、配置域名与 HTTPS
  • 六、伪静态:改完不配,文章全部 404
  • 七、主题与插件:克制一点
  • 八、上线前逐项验证
  • 九、几个常见故障
  • 十、备份与维护
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档