ARTICLE · INTELLIGENCE

战地情报 · 详情页

来自尧图项目组的一线实战观察与深度解析

宝塔面板部署Typecho全流程:Linux+Nginx+PHP环境实战

宝塔面板部署Typecho全流程:Linux+Nginx+PHP环境实战 做了这么多年博客站我始终觉得 Typecho 是最适合个人站长起步的那一类产品轻、快、不折腾。哪怕放到今天满世界都是重型 CMS 和静态站点生成器Typecho 依然有自己的位置。不过话说回来很多朋友卡住的地方反而不是 Typecho 本身而是“怎么把它弄到一台 Linux 服务器上”。宝塔面板的出现其实把这件事的门槛拉低了一大截也让 Linux 加 Nginx 加 PHP 这套经典组合变得不再劝退。这篇博文我基于自己若干次完整的部署经历包括踩坑记录把 Linux 环境下使用宝塔面板部署 Typecho 的全流程拆开揉碎讲清楚。不管你是第一次买服务器的新手还是以前只用过虚拟主机想换云服务器的老用户这篇文章基本能让你照着操作一次就跑通。1. 部署前的思路与方案选型1.1 为什么是 Typecho 配宝塔面板先聊点实际的。部署一个博客项目方案其实五花八门但对大多数人来说核心诉求不外乎三点快、稳、省心。Typecho 这个程序给我的感觉像一个精瘦的跑者动态解析能力强对服务器资源的占用极低。官方推荐的运行环境是 PHP 7.0 以上加 MySQL 5.5 以上实际上在 PHP 8.1 环境里跑也完全没问题。它不像 WordPress 那样动辄几百 MB 的源码包Typecho 压缩包只有 2MB 左右解压完整个站点根目录加起来也就十几 MB。这种体量带来的直接好处是服务器配置不需要多高1 核 1G 的入门机型就能跑得很舒服页面响应速度快Write 操作也几乎无感。宝塔面板的价值则是把 Linux 服务器操作的复杂度包了一层壳。创建一个网站、建一个数据库、申请 SSL 证书、设置伪静态这些原本需要在终端里敲各种命令折腾半天的操作现在都是图形界面里点几下的事。我见过太多人因为不熟悉 Nginx 配置而放弃自己建站宝塔面板确实把这个门槛抹平了不少。所以我个人的建议是Typecho 负责轻快宝塔负责省心Linux 负责稳定。这三个搭配在一起是一个性价比极高的组合方案。1.2 服务器配置选型建议买什么配置够用聊到部署绕不开服务器选型。网上有人动不动就推荐 4 核 8G 起步纯粹是资源浪费。以 Typecho 这种轻量级程序来说我实测过的最低配置是 1 核 1G 内存、带宽 3M 的入门云服务器跑了 Nginx PHP MySQL 三个服务日均 UV 几百的情况下负载根本过不了 1。如果你打算用宝塔面板说实话面板自身会占用一点内存大概 100MB 上下所以内存 1G 是一个稳妥的起步线。低于 1G 也能跑但跑了面板再跑编译类任务就会有点喘建议至少 2G 内存体验会从容很多。系统盘容量建议 40G 起步。Typecho 程序本身不占空间但日志、备份文件、数据库文件会慢慢积累。宝塔面板默认会把 MySQL、Nginx 的日志文件放在 /www/wwwlogs 目录下访问量大了之后这些日志文件涨得比想象中快预留空间是值得的。如果你预算允许直接选 SSD 数据盘再把数据库目录迁移过去那属于进阶玩法初期不用纠结。1.3 操作系统版本怎么选Linux 发行版对比Linux 发行版的选择对宝塔面板和 Typecho 的运行没有本质影响但会直接影响你后续操作的手感和排错的效率。我个人的经验是CentOS 7 时代已经过去了不要再选它。现在宝塔面板官方推荐的系统是 CentOS 7.x、Ubuntu 22.04、Debian 12 这几个。考虑到 CentOS 7 已经停止维护新装机我更推荐 Debian 12 或者 Ubuntu 22.04 LTS 版本。原因很实在这两个系统在社区活跃度、软件源更新速度、Nginx 与 PHP 新版本的支持上都更好宝塔面板在这两个系统上的兼容性问题也最少。从命令习惯上看Debian 和 Ubuntu 属于同源apt 包管理器的操作方式一致网上能搜到的大多数教程也都能直接套用。新手如果拿不准我建议直接选 Ubuntu 22.04 LTS不折腾。提示选系统镜像时注意架构。目前云厂商默认提供的都是 x86_64 架构宝塔面板对 x86_64 支持最好。如果你买的是 ARM 架构的服务器比如某些轻量服务器宝塔面板也能用但部分软件源的兼容性会略差Typecho 本身没问题Nginx 和 MySQL 的安装偶尔会碰到坑。第一次部署不建议选 ARM。2. Linux 环境准备与宝塔面板安装2.1 用到的 Linux 基础命令虽然宝塔面板把大部分操作图形化了但你还是会需要用到几个终端命令。比如安装宝塔前要通过 SSH 登录服务器装完后要用命令行确认面板状态或者出了问题要查看进程。这些场景离不开终端。我的建议是至少把这几个命令用熟ssh root服务器IP从本地终端连接服务器ls、cd、pwd查看目录、切换目录、确认当前位置wget下载文件宝塔安装脚本就是靠它拉取的unzip、tar解压源码包systemctl status 服务名查看 Nginx、MySQL 等服务的运行状态free -h、df -h查看内存和磁盘使用情况真正操作时你会发现这些命令都极其简单难的是知道“什么时候该用”。后面我讲到排错环节时会带上具体场景比单纯背命令有效得多。2.2 SSH 连接服务器与安全组放行拿到云服务器后第一步是用 SSH 连接上去。Windows 用户直接用系统自带的 PowerShell 或者 Windows Terminal 就行执行ssh root你的服务器公网IP然后输入密码。如果提示密码错误多半是云厂商控制台里没重置 root 密码先去控制台重置一下。这里有个特别坑的点必须强调安全组。国内云厂商的服务器几乎都默认开启了安全组机制相当于一道云防火墙。就算你在服务器内部把宝塔面板端口放行了安全组没放行外面依然访问不了。我遇到过好几次用户说“宝塔装完了但打不开面板页面”最后排查一圈问题全在安全组没放行端口。部署 Typecho 前后建议在安全组里放行这几个端口端口用途22SSH 远程登录8888宝塔面板默认入口安装后建议改掉80HTTP 访问网站443HTTPS 访问网站放行方式各家云厂商的界面名称不一样有的叫“安全组”有的叫“防火墙规则”但逻辑都是添加一条入方向规则协议选 TCP端口填对应数值来源选 0.0.0.0/0表示所有来源。提示如果你用了云厂商的“防火墙”功能有的厂商叫“云防火墙”而不是“安全组”也要同步放行。两个地方都要看漏掉哪个都会导致访问失败。2.3 宝塔面板安装与初始化设置宝塔面板的安装方式相当傻瓜化。SSH 登录服务器后去宝塔官网复制对应系统的安装命令粘贴到终端回车剩下的交给脚本跑。整个安装过程大概 2 到 5 分钟具体时长取决于服务器带宽和系统状态。安装完成后终端会打印面板地址、用户名、密码以及一个随机安全入口。这串信息务必立刻截图保存。如果你关掉了终端才发现没保存也别慌执行/etc/init.d/bt default可以重新查看默认信息。第一次登录面板时它会弹出一个推荐安装环境的选择界面。这里有两条路LNMP 套装Nginx MySQL PHP推荐Typecho 跑在这上面最稳。LAMP 套装Apache MySQL PHP能用但没必要Apache 比 Nginx 吃资源Typecho 官方也不以其为主要推荐环境。PHP 版本建议选 8.0 或 8.1目前 Typecho 最新稳定版本对这些版本的兼容性已经很好了。MySQL 版本选 5.7 即可或者直接用 MySQL 8.0Typecho 也支持。编译安装会比极速安装慢很多但对后续性能有好处如果你没有特殊需求选极速安装就够。2.4 环境检查清单装完后先别急着建站面板装好后别急着一口气建站先把环境检查一遍能避免后面 80% 的问题。第一访问面板的地址确认能正常打开能登录。这一步能验证安全组是否放行、面板进程是否在跑。第二在面板左侧菜单找到“软件商店”确认 Nginx、MySQL、PHP 的版本号和运行状态都是绿色正常运行。有个细节PHP 运行模式选择“FPM”这是默认模式不要手动改成别的。第三检查磁盘空间。df -h命令看一下根分区使用率如果已经超过 80%先清理再继续。这三项逐项过一遍没问题再进下一步。很多安装 Typecho 时出现的“数据库连不上”“Nginx 502”之类的问题其实都是环境没装好导致的连锁反应。基础打牢后面就顺。3. 网站创建与数据库配置实操细节3.1 在宝塔面板中创建站点进入宝塔面板首页点击“网站”菜单再点“添加站点”。这里有几个字段需要认真填。域名栏填你要绑定的域名比如example.com。如果你想同时支持www前缀可以在域名栏里一行一个写两个域名宝塔会一次性绑定好。如果你暂时没有域名也可以在本地 hosts 文件里临时解析或者直接用服务器 IP 访问但 Typecho 对 IP 访问的支持不太友好后续固定链接设置会受限建议还是准备一个域名。根目录默认会生成在/www/wwwroot/下面直接沿用默认就行。数据库一项选择“MySQL”填写数据库名、用户名和密码。宝塔会自动帮你生成一串高强度密码但太长了不好记我习惯自己设一个带大小写字母加数字的 16 位密码自己记得住也够安全。创建完成后宝塔会同时干三件事创建网站目录、创建数据库、生成对应的 Nginx 配置。默认的站点配置里已经包含了对 PHP 的解析支持这一步不用手动改。3.2 数据库创建细节与原理解读Typecho 默认使用 MySQL 存储文章、评论和用户数据所以数据库是部署的关键环节。在宝塔面板创建站点时顺便创建的数据库和 Typecho 安装时填写的数据库信息必须完全一致不然安装会卡在“数据库连接失败”这一步。说一个容易忽略的点数据库的用户名有些版本的宝塔在创建站点时会使用一个带前缀的账户名比如example_com这个前缀不是域名后缀而是宝塔为了避免数据库用户冲突自动加的标识。你在 Typecho 安装向导里填用户名时不能只填你自己输入的短名要把完整用户名填进去。另外就是数据库字符集。MySQL 5.7 默认可能是 utf8mb4Typecho 现在也完全支持 utf8mb4。如果你在创建数据库时看到了字符集选项直接选 utf8mb4 就行。它比 utf8 多出来的部分主要是对四字节 Emoji 表情的支持。博客文章里偶尔会用到带 Emoji 的标题或内容选 utf8mb4 可以避免出现“???”这类乱码。3.3 下载并上传 Typecho 源码Typecho 官网提供两种发行包正式版和开发版。我建议下载正式版稳定性优先。虽然开发版会有一些新功能但对普通博主来说没必要为尝鲜承担意外 bug 的风险。源码包下载到本地之后你需要把它解压并上传到宝塔网站根目录。上传方式有两种本地解压后用宝塔面板的“文件”管理页面上传整个目录在服务器终端用wget直接拉取官方压缩包再解压。终端操作的话命令大概是这样的cd /www/wwwroot/你的域名目录 wget https://github.com/typecho/typecho/releases/latest/download/typecho.zip unzip typecho.zip这里有个关键点Typecho 的压缩包解压后文件是在一个build子目录里的正式版的压缩包结构你需要把build目录里的所有文件移动到站点根目录而不是把build目录本身留在那里。正确做法是好多人容易忽略的mv build/* . rmdir build移动完以后用ls看一下根目录下是不是直接就有index.php如果是就说明文件放对了位置。3.4 设置运行目录为 /根目录Typecho 这个程序的特殊之处在于它要求站点的运行目录指向根目录本身而不像 ThinkPHP 这类框架需要指向/public子目录。宝塔面板添加站点后默认的运行目录是/看起来好像不用改。但有一种情况需要手动确认如果你在创建站点后自己动过站点设置或者把网站目录改过位置运行目录可能会变成/public或者其他子目录。Typecho 在这种情况下会表现得很奇怪首页能开后台打不开或者访问任意一个二级页面就是 404。正确的设置路径是网站 - 设置 - 网站目录 - 运行目录选择“/”保存。这个动作虽然简单但我建议每个部署 Typecho 的人都亲自去确认一遍。3.5 Typecho 安装向导一步步走完所有前期准备完成后浏览器访问你的域名会自动跳转到 Typecho 的安装向导页面。这个页面只有一个步骤填写几项信息数据库地址默认localhost不用改。数据库端口默认3306不用改。数据库名填宝塔创建站点时填写的数据库名。数据库用户名填宝塔显示的完整用户名。数据库密码填创建时设置的密码。数据库前缀默认typecho_可以不改。如果你有在一个数据库里装多个 Typecho 程序的需求可以通过改前缀区分。填完点“开始安装”几秒钟后进入后台设置用户名和密码的页面到这一步 Typecho 算是装完了。如果中途报错通常是数据库信息填错或者 PHP 缺少 pdo_mysql 扩展后面问题排查部分我会细讲。4. 伪静态配置与 URL 美化4.1 为什么必须配伪静态Typecho 安装完成后如果你直接去查看文章页面链接长这样/index.php/archives/1.html。这中间带了个index.php看起来不美观搜索引擎的友好度也略低。Typecho 后台设置里有“固定链接”选项可以自定义 URL 结构。我把常用的结构改成/%postname%.html之后文章链接就变成了/my-post.html这种简洁带 .html 后缀的形式。但这里有个前提要让这种干净的 URL 生效Nginx 必须配置对应的伪静态规则把对不存在文件的请求重写到index.php上。没有伪静态规则的时候你会发现后台把固定链接选项改好后前台一访问文章页就 404。这不是 Typecho 的 bug而是 Nginx 不知道该怎么把my-post.html这个请求交给 PHP 去处理。配上规则就通了。4.2 Nginx 伪静态规则怎么设置宝塔面板里设置伪静态非常方便。进入“网站”-“设置”-“伪静态”选项卡在底部“选择规则”的候选列表里通常可以直接找到Typecho这个预设规则。选中保存即可。如果候选列表里没有 Typecho 这个选项那就自己粘贴一段规则进去。Typecho 官方推荐的 Nginx 伪静态配置是这样的location / { index index.php index.html; if (-f $request_filename) { break; } if (!-e $request_filename) { rewrite ^(.*)$ /index.php$1 last; } }这段规则的意思很直白如果一个请求对应的是真实存在的文件就直接返回该文件如果对应的文件不存在就把请求重写到index.php后面去处理。Typecho 的路由是通过index.php来解析 URL 参数的所以请求转交给它之后它就能根据重写后的路径识别出应该加载哪篇文章。保存前建议大家先备份原有的配置内容万一规则覆盖错了还能一键还原。宝塔默认的伪静态编辑框里可能已经有一段内容直接全选替换成 Typecho 规则就行。4.3 固定链接怎么选SEO 与可读性平衡Typecho 后台的“设置 - 永久链接”页面里提供了一些预设的 URL 格式比如默认方式/index.php/archives/1.html按日期归档/index.php/archives/2024/04/28/1.html文章别名方式/index.php/archives/slug.html我个人的使用心得是选择“文章别名方式”最舒服即后台发布文章时给每篇文章指定一个英文短横线别名比如hello-world最终链接为/archives/hello-world.html。这种结构的好处是 URL 稳定不包含容易变化的时间戳后续改发布日期也不会导致链接失效。选好固定链接格式后记得勾选“启用地址重写功能”。这个选项是 Typecho 配合伪静态规则一起工作的开关不勾选的话即使 Nginx 规则配置正确后台也会生成带index.php的链接。配完以上设置回到前台刷新文章页URL 就干净了。5. 安全加固与性能优化上线前的必修课5.1 改掉面板默认端口和安全入口宝塔面板默认的登录端口是8888管理入口是一串随机字符串。很多人图省事不去动它但这跟把家门钥匙放在门口地垫下面没什么区别。公网服务器每天都会被各种扫描器扫端口8888这个端口在扫描器的字典里属于“默认待尝试”级别的目标。一旦面板弱口令被爆破整个服务器就相当于裸奔了。强烈建议登录面板后在“面板设置”里做三件事修改面板端口换成 8888 以外的随机端口例如 29001。修改安全入口换成你自己定义的一串长字符串。绑定访问域名如果只用域名访问面板可以设置仅允许指定域名打开面板页面。改完端口之后记得去云厂商安全组里同步放行新端口同时把旧的 8888 端口的安全组规则删掉。这个顺序反了的话会出现“面板突然打不开”的困惑。5.2 Typecho 后台地址隐藏与目录权限Typecho 默认的后台路径是/admin/所有爬虫和扫描器都知道。虽然没有绝对安全的系统但隐藏后台入口能过滤掉大量低水平扫描。方法有两种一种是通过 Nginx 的 location 规则把/admin路径限制 IP 访问或者做路径重写另一种简单粗暴的做法是把admin目录重命名成别的英文单词同时修改 Typecho 的配置让后台能识别新目录。不过第二种做法比较 hack升级 Typecho 版本时很可能被覆盖需要重新处理。我更推荐用 Nginx 限制访问 IP 的方式在站点配置文件的 server 块里加上一段规则只允许你自己的 IP 访问/admin路径。这样即使别人知道后台地址也没法从其他 IP 打开。还有一个必须提的目录权限问题Typecho 安装完成后usr目录下的config.inc.php文件保存了数据库连接信息这个文件如果允许 PHP 进程以外的人读取就存在泄露风险。宝塔默认的文件权限是644文件所有者可读写组和其他用户只读通常够用了。要注意的是别手滑把整个站点的权限全改成777尤其是config.inc.php权限改成600更稳。5.3 常用优化项固定链接、缓存与压缩Typecho 本身性能已经很优秀但配合几个优化点能让首屏加载速度再上一个台阶。第一开启 Nginx 的 gzip 压缩。在宝塔的 Nginx 配置管理页面里把gzip相关参数打开gzip_min_length 1k、gzip_comp_level 6是比较均衡的设置。文本类资源经过 gzip 压缩后体积能缩小 60% 以上博客这种以文字为主的内容获益非常明显。第二安装一个缓存插件。Typecho 社区比较稳定的缓存插件包括TpCache和CacheHtml这类静态页面缓存插件。它们会把动态生成的页面保存为静态 HTML 文件下次有访客访问时直接输出静态文件不经过 PHP 解析和数据库查询。对于文章内容不频繁变动的博客来说这个优化效果立竿见影。我实测过一个日 UV 500 上下的博客开启缓存后页面平均响应时间从 300ms 左右降到 20ms 左右。第三MySQL 慢查询日志关掉。默认情况下 MySQL 的慢查询日志是关闭的但有些环境模板会默认开启log_queries_not_using_indexes配合慢查询日志会产生大量无意义的日志文件白白消耗磁盘和 IO。确认宝塔数据库配置里这两个参数是关闭状态即可。5.4 备份策略计划任务自动备份网站在线跑着最怕的就是数据丢失。手动备份一时勤快一时爽坚持不了多久最优解是交给计划任务。宝塔面板的“计划任务”功能可以设置定时任务我通常这样配置任务类型备份数据库目标存储到本机磁盘的/www/backup目录执行周期每天一次保留最近 7 份。任务类型备份网站目录执行周期每周一次保留最近 4 份。如果买的是云服务器还可以把备份结果再推送到 OSS对象存储或者另外一台机器上实现异地容灾。在这里我要多说一句备份不是设置完就万事大吉了定期检查备份文件能不能正常恢复才行。我就遇到过数据库备份文件因为磁盘满了写一半的情况文件是生成了但解压后根本起不来。建议每隔一段时间手动做一次“恢复演练”在测试环境里把备份还原确认全流程可用。6. 常见问题与排查思路实操中踩过的坑6.1 网站打不开怎么快速定位问题遇到“网站打不开”这种最笼统的问题不要慌着去改代码。按下面这个顺序排查能覆盖九成以上的情况第一步确认是不是服务器本身的问题。用终端执行ping 你的服务器IP能通说明网络链路正常。再执行systemctl status nginx确认 Nginx 进程还活着。如果 Nginx 挂了直接systemctl restart nginx拉起来再看网站。第二步确认是不是安全组/防火墙拦截。本地浏览器访问http://服务器IP如果连 IP 都打不开问题多半出在安全组。去云厂商控制台检查 80 和 443 端口是否放行。第三步确认是不是域名解析问题。本地执行nslookup 你的域名看解析结果是否指向服务器 IP。解析刚配置完还没生效也很常见TTL 时间过了才能全球生效。第四步确认是不是 PHP 进程挂掉了。访问首页出现502 Bad Gateway基本就是 PHP-FPM 进程有事。在宝塔面板的“软件商店”里找到 PHP点“服务”再点“重启”大概率能救回来。如果频繁 502要看是不是 PHP 进程数设置过低在性能调整里把pm.max_children适当调大。6.2 数据库连接失败安装时最常见错误Typecho 安装向导填完数据库信息提交后最常见的报错是类似于“对不起无法连接数据库请先检查数据库配置信息”。这个报错出现后按这几项逐一排查数据库名、用户名、密码是否完全正确复制粘贴时注意别带空格。数据库服务是否在运行。终端执行systemctl status mysql状态不是 active 的话先启动。数据用户是否允许从 localhost 连接。宝塔创建的数据库用户一般默认只允许localhost连接如果安装时把数据库地址误填成了服务器公网 IP反而会连不上填localhost才对。是否缺少pdo_mysql扩展。在宝塔的 PHP 设置里点“安装扩展”确认pdo_mysql已经安装并启用。这里面最容易被忽略的就是最后一条。有些精简版 PHP 编译配置里没带 pdo_mysql或者只带了 mysqliTypecho 的数据库驱动依赖 PDO 扩展没有它就会直接连接失败。6.3 页面 404 的三大原因Typecho 站点配好之后首页能打开但点进文章页就 404这是所有人都会遇到的经典问题。原因基本锁定在下面三个伪静态规则没配好。到网站设置 - 伪静态确认是否使用了 Typecho 规则。宝塔自带的 Typecho 规则有时候会因为版本更新导致配置不完整我建议直接把文章开头那段官方规则粘贴进去亲测最稳。固定链接里的“启用地址重写”没勾选。进 Typecho 后台 - 设置 - 永久链接把“启用地址重写功能”勾选上。这个开关和伪静态规则是配套的缺一不可。运行目录设置错误。确认“网站目录 - 运行目录”是/而不是public或者其他目录。只要运行目录不对任何伪静态规则都白搭。6.4 上传文件大小限制的问题Typecho 后台写文章时插入图片如果图片文件稍微大一点就被提示“上传失败”或者“文件大小超过限制”这不一定是 Typecho 的问题而是 PHP 的upload_max_filesize参数比较小。宝塔面板里调整起来很简单找到“软件商店”里的 PHP点击“设置”切到“配置修改”标签页搜索upload_max_filesize默认通常是2M改成20M或50M。顺带把post_max_size改成比upload_max_filesize更大的值例如上传上限 50Mpost_max_size 至少 64M。改完记得重载 PHP 服务。这里有个容易忽视的点如果你启用了 Nginx 层面的反向代理或者上传代理client_max_body_size这个参数也可能限制上传大小。不过 Typecho 常规部署一般不涉及反向代理先改 PHP 参数就够了。6.5 SSL 证书配置与 HTTPS 跳转现在的网站不配 HTTPS 真的很尴尬浏览器会直接给你打一个“不安全”的标签搜索引擎对 HTTPS 站点也有权重倾斜。宝塔面板大幅简化了 SSL 证书的申请流程。在“网站”-“设置”-“SSL”选项卡里选择“Lets Encrypt”并勾选你要申请证书的域名宝塔会自动完成验证和签发流程。整个过程一般一分钟内搞定。证书签发成功后记得开启“强制 HTTPS”这样所有 HTTP 请求都会 301 跳转到 HTTPS。关于证书自动续期宝塔面板的 Lets Encrypt 插件默认配置了自动续期计划任务不需要你手动干预。但我还是建议每两个月去面板的“计划任务”页面看一眼续期日志确认没有报错。证书过期不像别的故障那样会当场报错而是悄无声息地在某一天挂掉影响面非常大。6.6 迁移服务器或者换域名要注意的事如果你要把 Typecho 从旧服务器搬到新服务器或者更换域名说几个细节。备份还原方面老服务器的数据库和网站目录做完整备份新服务器上用宝塔面板的“导入备份”功能把两个备份都恢复再把站点域名绑定改一下基本就完成了迁移。你不需要重新执行安装向导因为config.inc.php文件里已经写了数据库连接信息只要新环境里的数据库名和密码保持一致直接就能跑。换域名的情况下除了修改宝塔的站点绑定域名和 Typecho 后台的“站点地址”还需要处理数据库里的历史链接。Typecho 的文章内容是相对路径存储的所以换域名的影响面主要是固定链接格式和自定义字段里的绝对 URL。这种情况建议在数据库里执行一次全局替换 SQL把旧域名替换成新域名。UPDATE typecho_contents SET text REPLACE(text, 旧域名, 新域名); UPDATE typecho_comments SET url REPLACE(url, 旧域名, 新域名);执行前务必先备份数据库。全局替换 SQL 这种事一旦哪里写错就是灾难现场备份能让你随时回滚。7. 一些额外想要分享的心得部署 Typecho 这个流程前前后后我走了不下十遍每一次踩的坑都不一样。但有个体会始终没变绝大多数的报错都不是程序本身有问题而是环境和配置之间的默契没达成。Nginx 等 PHP 解析请求MySQL 等程序来连它而 Typecho 只需要一份可写的目录和一组正确的数据库信息。理解了这套协作链路之后排错思路会清晰很多不会被报错信息带跑偏。还有个小建议刚部署完别急着写文章先把后台的“设置”整个翻一遍尤其是永久链接、评论、附件这几项。先把规则定下来后面内容多了再改历史链接就乱了。我见过不少朋友是先写了一堆内容再想起设置伪静态和固定链接结果链接全部变化原来的 SEO 权重全部打水漂只能一个个做 301 跳转非常折腾。要想省事第一步就走对。
RELATED READING

延伸阅读

更多一线实战笔记与深度复盘,助您持续精进