嗨,欢迎来到我的博客。

这是我为这个博客写下的第一篇文章。网站搭好之后,我一直在想:第一篇内容应该写些什么?与其写一段简单的自我介绍,不如从这个博客本身开始,带你从零搭建一个属于自己的网站。

也许此刻的你只是随手点进来看看,也许某个深夜,你真的会因为一时兴起,买下一个域名,租一台服务器,然后拥有互联网上属于自己的小角落。

本文以 Typecho 和宝塔面板为例,介绍个人博客的基本搭建流程。软件界面和服务商规则会不断更新,具体操作请以各平台的最新官方文档为准。

在开始之前:访问网站时发生了什么?

当我们在浏览器里输入一个域名时,一次网站访问大致会经过下面这条路径:

浏览器输入域名
      ↓
DNS 查询域名对应的 IP 地址
      ↓
浏览器访问服务器的 80 或 443 端口
      ↓
Nginx / Apache 接收请求
      ↓
PHP 运行 Typecho
      ↓
Typecho 从数据库读取文章并生成页面

理解这条链路很重要。以后遇到网站打不开时,我们就能判断问题究竟出在域名解析、服务器网络、Web 服务、PHP,还是 Typecho 本身。

准备工作

开始搭建前,需要准备以下内容:

  • 一个可用的域名;
  • 一台带公网 IP 的云服务器;
  • 一个能够正常使用的邮箱;
  • 基本的 SSH 连接能力;
  • 如果服务器位于中国大陆,还需要按规定完成 ICP 备案。

域名可以在阿里云、腾讯云或其他正规注册商处购买。.com、.net、.org 等后缀都可以使用,不必为了便宜选择来历不明的域名服务商。

服务器建议选择自己熟悉、售后文档较完整的平台。个人博客初期对配置要求不高,但最好选择仍在维护的 Linux 发行版,例如当前受支持的 Ubuntu、Debian、AlmaLinux 或 Rocky Linux。

第一步:连接服务器并安装宝塔面板

购买服务器后,在服务商控制台找到公网 IP、SSH 用户名和登录方式,然后通过 SSH 连接服务器。

宝塔面板的安装命令会随版本和操作系统变化,因此不建议从年代久远的文章里复制固定脚本。请打开宝塔面板官方下载页面,选择服务器对应的操作系统,并使用页面提供的最新安装命令。

安装完成后,终端通常会显示:

  • 面板访问地址;
  • 面板端口;
  • 安全入口;
  • 初始用户名;
  • 初始密码。

请立即把这些信息保存到安全的密码管理工具中,不要截图公开,也不要发到群聊或博客文章里。

面板无法打开怎么办?

首先检查云服务商的安全组或防火墙是否放行了实际的面板端口。

需要注意,80 是普通 HTTP 网站端口,443 是 HTTPS 网站端口,它们不一定是宝塔面板的登录端口。当前宝塔安装通常会生成单独的面板端口,应以安装完成时显示的地址为准。

如果忘记了面板信息,可以通过 SSH 执行:

bt 14

查看默认面板地址和账户信息。修改面板端口后,也要同步修改云服务商安全组和服务器防火墙规则。

第二步:完成面板的基础安全设置

首次登录面板后,建议先完成这些设置:

  1. 修改默认用户名和密码;
  2. 使用长度足够的随机密码;
  3. 设置不容易被猜到的安全入口;
  4. 开启登录告警和防爆破功能;
  5. 如果条件允许,限制只有自己的固定 IP 能访问面板;
  6. 不要把数据库端口和 phpMyAdmin 长期开放给整个互联网。

安装环境时可以选择 LNMP:

Linux + Nginx + MySQL/MariaDB + PHP

Typecho 当前要求 PHP 7.4 或更高版本。新部署时应选择仍在安全维护期内、并与所用 Typecho 版本兼容的 PHP 版本,而不是继续使用早已停止维护的 PHP 7.2。

第三步:配置域名 DNS

登录域名注册商的控制台,找到 DNS 解析设置,然后添加记录。

如果服务器提供的是 IPv4 地址,一般添加 A 记录:

选项示例说明
记录类型A指向 IPv4 地址
主机记录@解析根域名,例如 example.com
记录值203.0.113.10服务器公网 IPv4 地址
TTL默认通常无需修改

如果还希望通过 www.example.com 访问,可以再添加一条记录:

选项示例
记录类型CNAME
主机记录www
记录值example.com

如果服务器使用 IPv6,则添加 AAAA 记录。只有当服务商给你的目标本身是另一个域名时,才需要使用 CNAME。

DNS 解析不是立刻在全球同时生效的。修改后可能需要等待一段时间,可以使用下面的命令检查结果:

nslookup example.com

把 example.com 换成自己的域名。如果返回的地址与服务器公网 IP 一致,说明解析基本正确。

第四步:创建网站和数据库

进入宝塔面板的“网站”页面,新建一个 PHP 网站,并填写已经解析好的域名。

创建时建议同时建立独立数据库和数据库用户。请为数据库生成随机强密码,不要让数据库密码与面板密码、服务器密码或 Typecho 管理员密码相同。

网站至少需要放行以下端口:

80   HTTP
443  HTTPS

MySQL 的 3306 端口通常不需要对公网开放。Typecho 和数据库运行在同一台服务器时,让数据库仅接受本机连接会更安全。

第五步:安装 Typecho

前往 Typecho 官方下载页面,下载最新稳定版。不要把开发版直接用于正式博客,除非你清楚可能遇到的兼容性问题,并且有完整备份。

将 Typecho 文件上传到刚才创建的网站根目录并解压。解压后应确保 index.php、install.php、admin、usr、var 等内容直接位于网站根目录,而不是多套了一层文件夹。

然后在浏览器中访问:

http://你的域名/install.php

根据安装向导填写:

  • 数据库地址;
  • 数据库名称;
  • 数据库用户名;
  • 数据库密码;
  • Typecho 管理员用户名;
  • 管理员密码;
  • 管理员邮箱。

如果数据库与 Typecho 位于同一台服务器,数据库地址通常填写 localhost 或 127.0.0.1。安装完成后,访问域名即可看到博客首页。

部分宝塔版本或应用商店也可能提供 Typecho 一键部署。它确实方便,但不同版本的界面和应用模板可能发生变化。无论采用一键部署还是手动上传,都要确认 Typecho 来源可信、版本仍受支持,并妥善保存数据库信息。

第六步:启用 HTTPS

网站能够通过 HTTP 访问后,建议尽快申请 SSL 证书并启用 HTTPS。

在宝塔的网站设置中找到 SSL 功能,可以申请受支持的免费证书,或上传自己已有的证书。启用后测试:

https://你的域名

确认页面、后台和静态资源都能正常加载,再开启“强制 HTTPS”。如果一开始就强制跳转,而证书或域名尚未配置正确,反而会增加排错难度。

关于 ICP 备案

如果网站使用位于中国大陆的服务器并对外提供服务,通常需要先完成 ICP 备案。备案应通过服务器接入商提供的系统提交,所需材料和审核时间以接入商及当地通信管理部门要求为准。

这里需要纠正一个常见误解:

把 DNS 托管到 Cloudflare,并不能让一台位于中国大陆且需要备案的服务器绕过备案要求。

Cloudflare 可以提供 DNS、CDN 和安全防护,但它不会改变源站服务器所在地区及其合规要求。Cloudflare 的中国网络服务本身同样要求有效的 ICP 备案或许可证。

如果暂时不准备备案,可以选择位于中国大陆以外的服务器,但访问速度、线路质量和相关规则需要自行权衡。

关于在家里搭建服务器

把博客放在家里的电脑或小主机上当然可以,但维护难度通常比云服务器更高。

你可能需要处理:

  • 家庭宽带是否拥有公网 IP;
  • 公网 IP 是否会定期变化;
  • DDNS 动态域名解析;
  • 路由器端口转发;
  • 运营商是否限制 80、443 等端口;
  • 没有公网 IP 时的内网穿透;
  • 停电、断网和硬件故障;
  • 系统更新、备份与网络安全。

本地建站很适合学习,但如果只是想稳定写博客,云服务器通常更省心。

建站之后还要做什么?

看到 Typecho 首页并不代表工作已经全部结束。一个能够长期运行的博客还需要:

  • 定期备份网站文件和数据库;
  • 及时更新 Typecho、主题、插件、PHP 和系统安全补丁;
  • 删除不用的插件和测试文件;
  • 为后台账户启用强密码;
  • 定期检查登录日志和服务器磁盘空间;
  • 在重大升级前先创建完整备份。

比起把博客搭起来,更难也更有意义的事情,是一直写下去。

写在最后

如果你已经跟着这篇文章搭好了自己的博客,那么恭喜你。从现在开始,互联网上多了一个真正属于你的空间。

你可以在这里记录学习过程,分享踩过的坑,保存某个阶段的想法,也可以在很多年以后偶然翻回第一篇文章,重新看到当时那个认真折腾网站的自己。

如果文章中还有遗漏或错误,欢迎在评论区告诉我。你的提醒会让这篇教程变得更完整,也会帮助后来看到它的人少走一些弯路。

希望这个博客能够一直更新下去,也希望多年后的我再次读到这里时,仍然记得第一次把网站部署成功时的兴奋。

参考资料

最后修改:2026 年 09 月 25 日
如果觉得我的文章对你有用,那我很高兴能帮助到你