AI摘要

本文详细记录了作者从零开始,利用Typecho在腾讯云应用服务器上搭建个人博客,并涵盖服务器选择、1Panel面板配置、MySQL与Typecho安装、端口开放及初步配置的全过程。

前言

我的个人博客建立快一年了,由于目前博客在用的云服务器里面装了很多杂七杂八的东西,一直想好好整理一下。今天我决定重新买一台云服务器,只用于我的个人博客。
这篇文章既记录搭建过程,也包括数据迁移部分。我把所有步骤以图+文的形式详细表述出来,以便非专业人员也能参考。

正文

云服务器选择

第一步是选择云服务器。
目前手上在用的3台云服务器和2台云应用服务器都来自 雨云,性价比不错。之前博客在用的是 4核8G300M 的配置,价格大概800/年。这种大带宽的服务器适合做网络相关的任务(比如内网穿透)。如果你也感兴趣,从 这个链接 点进去,注册购买云服务器有5折优惠,优惠码:xiaotie

但这次我考虑了一下,最终还是选了腾讯云,理由有三点:

  1. 这次重新搭建/迁移博客的目的就是为了稳定性,选大厂的没什么后患
  2. 价格也可以,个人博客本身也不需要太大带宽,我选了 2核4G6M,3年实付528元。购买后被告知可以免费升级成 4核4G6M,更觉不亏了。
    大厂的云服务器优惠价购买到期后挺贵的,所以我一步到位买了3年的,这是购买链接
    如果你希望有一个稳定的博客,那么我也建议你买3年的。也有 4核4G3M 79/年,比较适合大家一开始练手
  3. 我买的是云应用服务器,而非云服务器。原因是云应用相比云服务器更便宜,另外我只给个人博客用,东西都是现成的,没有需要对系统 DIY 的场景。安全、稳定、简单是放在首位的。

购买时会让选择应用模板,这里我选了 1Panel Linux面板,方便自己后续加入一些需要的应用,比如 Nginx、VSCode、MySQL 等,这些我们以后都要用到。

1Panel面板配置

云服务器部署好以后点登录进入服务器控制台,输入 sudo /opt/1panel/get-1panel-info.sh 获取 1Panel 的用户名密码

访问脚本输出的面板地址,输入用户名密码,进入 1Panel 主页

安全起见,我们做一些措施。点击左侧菜单面板设置进入设置页

  1. 面板 标签页中修改面板用户名和密码
  2. 安全 标签页中修改面板端口并开启两步验证(修改面板端口以后需要点进 腾讯云应用服务器 - 防火墙,修改面板默认端口为你修改的端口,否则会访问不到)
    腾讯云应用服务器防火墙设置页

博客安装

MySQL安装配置

1Panel 左侧菜单点击应用商店,搜索 MySQL,点击安装按钮
版本我选的是 8.4.8Root密码 填写自定义密码(尽量包含大小写字母+特殊符号,越复杂越安全)。端口改一下,不要用默认的 3306。勾选 端口外部访问
需要改的部分都在下图用红框标记出来了,改完以后最后点击确认按钮
1Panel安装MySQL

Typecho安装

1Panel应用商店搜索 Typecho,点击安装按钮
版本选择 1.2.1-php8.0-apache,其他需要修改的项都在下图中标记出来了
1Panel安装Typecho

开放 MySQL 和 Typecho 端口

进入 腾讯云控制台 - 云应用服务器 - 防火墙 - 添加规则
开放MySQL和Typecho端口

Typecho配置

访问云应用服务器IP:typecho端口号,发现页面可以访问,但是缺少页面样式:
Typecho的HelloWorld页面

遇到问题就解决问题:

  • 打开浏览器控制台,发现错误:
    Typecho控制台错误信息

    原来只有页面HTML通过公网IP映射出来了,而CSS、JS和其他静态资源都去请求localhost了。可能是因为之前在1Panel安装Typecho时的配置项填写错误
  • 回到 1Panel,依次点击 应用商店 - 已安装 - typecho卡片的参数按钮 - 编辑,将外部访问地址中的localhost替换为云服务器的公网IP,然后确认
  • 等待容器重启完成后,刷新 Typecho 页面,发现还是没有样式。不着急,先点 登录 链接进登录页,发现页面正常显示
  • 输入之前配置的 Typecho 用户名和密码进入管理页面,点击上方菜单中的 设置,把 站点地址 中的 localhost 替换为云服务器公网IP,保存设置
  • 删除此时浏览器地址栏中端口号以后的部分并回车,发现页面正常显示了
    Typecho初始页面

插件推荐

Typecho 本身提供了一系列博客相关的功能,但是某些方面还有所欠缺,可以通过市面现有插件扩展功能。下面我推荐常用的插件:

  • Handsome —— 一款Typecho主题。多种风格自由切换,功能强大但使用简单方便。缺点是这是一款付费插件。插件介绍与安装:https://www.ihewro.com/archives/489/
  • VisitorLoggerPro —— 访客统计插件。支持后台查看实时访客并展示在前台,包括访客IP、地区等信息(可排除搜索引擎蜘蛛记录)。插件介绍与安装:https://blog.ybyq.wang/archives/97.html
  • CategoryBatchManager —— 分类统一管理插件。Typecho自带的分类管理并不好用,无法批量修改文章分类。这款插件提供文章管理列表中的批量操作功能,支持移动、添加和移除文章分类,以及单篇文章快速分类修改。插件介绍与安装:https://blog.ybyq.wang/archives/1459.html
  • AICover —— 为Typecho接入AI的智能化插件。能够利用AI自动生成文章封面图、标题、摘要以及OG分享图,并提供封面历史管理等功能,旨在提升博客内容创作与SEO优化的效率。 插件介绍与安装:https://www.xiaotiewinner.com/2026/ai-cover-doc.html
  • XtSeoMaster —— SEO增强插件。搜索引擎的收录效率是博客能否被人看到的决定性因素,该插件提供Meta标签优化、AMP/MIP页面支持及搜索引擎推送管理等核心功能,旨在全面提升网站在搜索引擎中的可见性与排名。插件介绍与安装:https://www.xiaotiewinner.com/2026/xt-seo-master-doc.html

插件安装

插件的安装方式并不复杂,来到 1Panel页,依次点击 容器 - 编排 - typecho - 目录,然后进入 usr/plugins 目录,可以看到 HelloWorld,这是Typecho初始安装自带的第一个插件。
Typecho插件安装目录

把从别处下载的插件(压缩包解压出来的文件夹)上传到这个目录,然后在 Typecho管理后台 - 控制台 - 插件 页面可以看到,单击启用,并设置各项值即可

网页配置

我们需要安装 OpenResty(Nginx)以便配置网页,Nginx的作用包括但不限于:

  • 作为 Web 服务器 —— 这是它最基本的作用。处理流程为:接收请求 - 找到服务器上的文件 - 返回给浏览器
  • 反向代理 —— 为保护网页程序,我们往往不会直接将网页端口暴露于公网,这时就需要Nginx反向代理。不仅可以统一入口,也更安全。
  • 处理 HTTPS 证书 —— HTTPS 加密,对 SEO 更好,访问个人博客时浏览器页不会再出现不安全提示
  • 静态资源加密与缓存
  • 负载均衡处理
  1. 进入 1Panel 页面,依次点击 应用商店 - OpenResty - 安装,容器名称输入 openresty,然后确认
    OpenResty安装页面
  2. 依次点击 网页 - 网站 - 创建网站,按下图红框填写,域名要输入自己的(关于域名注册备案解析等事项,由于本章篇幅太长了,我准备放到下一篇去写),最后点击确认按钮
    OpenResty创建页面
  3. 依次点击 网站 - 证书 - DNS账户 - 创建,名称随意填写,根据你的选择域名购买厂商并去官网获取 Access keySecret key 并填入。
  4. 依次点击 网站 - 证书 - 申请证书,按下图填写(域名填写自己的域名),然后等待证书申请成功
    OpenResty申请证书页面
  5. 依次点击 网站 - 域名超链接 - HTTPS,然后像下图一样配置,最后点击保存按钮
    OpenResty HTTPS设置页面
  6. 尝试通过 https://域名 访问自己的博客,如果你的域名已经备案通过,此时应该可以成功访问了

下一篇文章介绍博客域名注册、备案,静态资源的CDN加速处理以及市面主流搜索引擎收录、推送


以下内容是我个人博客的迁移过程记录,不感兴趣的话可以跳过

博客迁移

本次迁移仅更换了云服务器,域名、数据库、Typecho、PHP版本等没有变化
为防止博客迁移出错导致恶劣影响,我先将博客迁移至 blog 二级域名,在确保安全无误的前提下再转移至 www 域名

插件迁移

  1. 在1Panel页面中将迁移前博客的插件目录(/opt/1panel/docker/compose/typecho/data/usr)和handsome主题目录(/opt/1panel/docker/compose/typecho/data/usr/themes/handsome)压缩并下载,上传至新服务器对应目录,然后解压,看到插件全部迁移过来了
    插件迁移后的Typecho插件目录
    插件迁移后的Typecho插件管理页面
  2. 删除新服务器上刚刚上传的压缩包,依次启用并参考迁移前的博客设置插件
  3. handsome主题需要提供新域名授权,添加授权以后,前端访问与显示正常
    handsome初始页面

主题迁移

查看handsome主题的数据备份说明,发现主题数据是保存在数据库中的,这样的话我迁移完数据库应该会把外观设置一起迁移过来。那么就开始迁移DB数据

外观备份说明

数据迁移

  1. 使用navicat连上数据库,导出旧博客数据库Dump文件
    导出MySQL数据
  2. 向新服务器MySQL的typecho库导入数据。一开始导入没反应,猜测可能Typecho对某张表加了锁。尝试先将Typecho容器先停止,然后再次导入数据,成功了
  3. 再次启动Typecho容器,访问博客前台首页,发现文章以及外观都对上了,但图片不显示,接下来把静态资源迁移过来

静态资源迁移

  1. 压缩并下载静态资源目录(/opt/1panel/docker/compose/typecho/data/usr/uploads),上传到新服务器并解压
  2. 刷新前台页面,图片显示正常
    迁移后博客首页

域名解析迁移

阿里云域名解析设置为新服务器的公网IP

问题和解决

虽然博客主页正常访问了,但是此时点击文章或后台管理其他操作都是失败的,错误代码404:

经过调查发现问题是由Typecho自带的地址rewrite功能导致的。前往 博客后台 - 设置 - 永久链接,将 是否使用地址重写功能 先停用再启用,问题就解决了
将 www 域名解析地址更换为新云服务器IP。经测试,域名正常工作,迁移结束。
最后修改:2026 年 03 月 30 日
如果觉得我的文章对你有用,请随意赞赏
本文作者:
文章标题:利用Typecho从零开始搭建我的个人博客(涵盖数据/插件/域名解析迁移)
本文地址:https://www.xiaotiewinner.com/2026/blog-setup.html
版权说明:若无注明,本文皆为 小铁的博客 原创,转载请保留文章出处。