想拥有一个属于自己的博客,记录生活、分享知识?但一提到服务器、域名、代码就犯怵?别担心!今天,我就手把手教你如何从零开始,完全免费,搭建一个功能强大、安全可靠的个人博客。即使你是电脑小白,也能轻松拥有一个高大上的网站!

第一步:服务器与域名的选择
搭建网站,首先需要服务器(存放网站文件,7×24小时运行)和域名(网站网址,比如 yourblog.com
)。这是你拥有一个独立博客的基础和核心,需要你自行购买和准备。
1. 服务器:你的网站“地基”
服务器就是一台远程的电脑,用来存储你的网站文件、数据库,并处理访问请求。对于个人博客而言,一台入门级的云服务器就足够了。
- 推荐平台: 国内主流的云服务商有 阿里云 (Alibaba Cloud)、腾讯云 (Tencent Cloud)、华为云 (Huawei Cloud) 等。它们会不定期推出针对新用户的优惠活动,比如学生优惠、首次购买折扣等,价格会非常划算。
- 如何选择: * 配置: 初期选择 1核2G 或 2核4G 的服务器配置足以满足个人博客的需求。
- 地域: 选择离你的主要访客群体较近的地域,可以提高访问速度。
- 操作系统: 建议选择 Linux 系统,如 Ubuntu 或 CentOS,这是主流的服务器操作系统,社区支持丰富。
- 购买流程: 访问云服务商官网,注册账号并实名认证(国内购买必需),然后找到“云服务器 ECS”(阿里云)或“云服务器 CVM”(腾讯云)等产品,根据你的需求选择配置并购买。
小贴士: 购买时,注意选择按量付费(更灵活)或包年包月(更优惠)的计费方式。对于长期使用,包年包月通常更划算。
2. 域名:你的网站“门牌号”
域名就是你网站的专属地址,让人们可以通过易记的名称来访问你的网站,而不是一串冰冷的IP地址。
- 推荐平台: 可以在你购买服务器的云服务商那里一并购买。
- 如何选择:
- 后缀: 常见的有
.com
、.cn
、.net
等。.com
是国际通用顶级域名,认可度最高,通常是首选。 - 名称: 尽量选择简短、易记、与你博客主题相关的名称。
- 备案: 如果你的服务器在中国大陆,域名必须进行备案(ICP 备案)才能正常访问。这是一个国家规定,需要提交身份证等资料给管局审核,通常由云服务商提供备案服务,流程会比较清晰。
- 后缀: 常见的有
- 购买流程: 在域名注册商网站上搜索你想要的域名,如果未被注册,就可以购买。购买后,你需要将其解析到你的服务器IP地址,这样当用户访问你的域名时,就能找到你的服务器。
第二步:博客程序选型(WordPress 最佳实践)
搭建博客的“程序”,市面上有很多选择:Hexo、Hugo 适合纯静态,Typecho 轻巧,而WordPress 则是当之无愧的霸主!
为什么选择 WordPress?
- 功能强大: 从简单的博客到复杂的电商网站都能搭建。
- 海量主题和插件: 数不清的免费和付费主题让你网站个性十足,各种插件满足你的任何需求(SEO、安全、统计等)。
- 社区活跃: 遇到问题,很容易找到解决方案和帮助。
- 易于上手: 后台管理界面友好,非技术人员也能轻松发布文章。
第三步:使用 Docker 轻松安装 WordPress(告别繁琐配置!)
传统安装 WordPress 需要配置 PHP、MySQL 数据库、Web 服务器(Nginx/Apache)等,步骤繁琐,容易出错。但有了 Docker,一切变得异常简单!
Docker 就像一个“容器”,把 WordPress 运行所需的所有环境打包好,你只需要运行一个命令,它就能帮你部署好,大大简化了安装过程。
1. 连接你的服务器
使用 SSH 工具(Windows 用户推荐 PuTTY 或 Windows Terminal,macOS/Linux 自带 Terminal)连接你的云服务器。你需要服务器的 IP 地址、用户名(通常是 root
或 ubuntu
等)和密码/密钥。
2. 安装 Docker 和 Docker Compose
在服务器命令行中执行以下命令(以 Ubuntu/Debian 为例):
Bash
# 更新软件包列表
sudo apt update
# 安装 Docker
sudo apt install docker.io -y
# 启动 Docker 服务
sudo systemctl start docker
# 设置 Docker 开机自启动
sudo systemctl enable docker
# 安装 Docker Compose
sudo apt install docker-compose -y
3. 部署 WordPress(Docker Compose 一键搞定!)
创建一个文件夹用于存放 WordPress 的配置文件,例如:
Bash
mkdir wordpress
cd wordpress
在该文件夹中创建一个名为 docker-compose.yml
的文件:
Bash
nano docker-compose.yml # 使用 nano 编辑器
然后将以下内容粘贴进去(注意替换 YOUR_MYSQL_ROOT_PASSWORD
和 YOUR_WORDPRESS_DB_PASSWORD
为你自己的安全密码):
YAML
version: '3.8'
services:
db:
image: mysql:8.0
container_name: wordpress-db
environment:
MYSQL_ROOT_PASSWORD: YOUR_MYSQL_ROOT_PASSWORD # 替换为你的数据库root密码
MYSQL_DATABASE: wordpress
MYSQL_USER: wordpress
MYSQL_PASSWORD: YOUR_WORDPRESS_DB_PASSWORD # 替换为你的WordPress数据库密码
volumes:
- ./db_data:/var/lib/mysql # 将数据库数据持久化到本地
restart: always
wordpress:
depends_on:
- db
image: wordpress:latest
container_name: wordpress-app
ports:
- "80:80" # 将容器的80端口映射到服务器的80端口
environment:
WORDPRESS_DB_HOST: db:3306
WORDPRESS_DB_USER: wordpress
WORDPRESS_DB_PASSWORD: YOUR_WORDPRESS_DB_PASSWORD # 与上面数据库密码保持一致
WORDPRESS_DB_NAME: wordpress
volumes:
- ./wordpress_data:/var/www/html # 将WordPress文件持久化到本地
restart: always
粘贴完成后,按 Ctrl+X
,然后按 Y
,最后按 Enter
保存文件。
现在,回到 wordpress
文件夹下,运行命令启动 WordPress:
Bash
docker-compose up -d
等待几分钟,Docker 会自动下载镜像并启动 WordPress 和 MySQL 容器。
4. 访问你的 WordPress 博客
在浏览器中输入你的服务器 IP 地址,你应该就能看到 WordPress 的安装界面了!按照提示设置网站标题、管理员用户名和密码,你的博客就搭建成功啦!
第四步:使用 Caddy 升级 HTTP 到 HTTPS(安全免费!)
现在你的博客可以通过 http://
访问了,但为了数据安全和 SEO 优化,我们强烈推荐升级到 HTTPS。传统的 SSL 证书申请和配置非常复杂,但有了 Caddy,一切变得前所未有的简单和免费!
Caddy 是一个现代化的 Web 服务器,最大的特点是它内置了自动申请和续签 Let’s Encrypt 的免费 SSL 证书功能**。这意味着你无需手动操作,Caddy 会自动帮你搞定 HTTPS!
1. 停止之前的 WordPress 映射
由于 Caddy 也要使用 80 和 443 端口,我们需要先停止 WordPress 容器对外映射 80 端口。
进入你的 wordpress
目录,编辑 docker-compose.yml
文件:
Bash
nano docker-compose.yml
找到 wordpress
服务下的 ports
配置,将其修改为:
YAML
ports:
- "9000:80" # 将容器的80端口映射到服务器的9000端口
这里我们将 WordPress 容器的 80 端口映射到服务器的 9000 端口,避免与 Caddy 冲突。保存并退出。
然后,重启 WordPress 容器使配置生效:
Bash
docker-compose down # 停止并移除旧容器
docker-compose up -d # 启动新容器
现在你的 WordPress 应该可以通过 http://你的服务器IP:9000
访问了。
2. 创建 Caddy 配置文件
在 wordpress
文件夹的同级目录下(即退出 wordpress
文件夹,回到上一级目录),创建一个新的文件夹用于 Caddy 的配置:
Bash
cd .. # 退出 wordpress 文件夹
mkdir caddy
cd caddy
在 caddy
文件夹中创建一个 Caddyfile
文件:
Bash
nano Caddyfile
粘贴以下内容(请务必将 yourdomain.com
替换为你的真实域名或服务器 IP 地址):
代码段
yourdomain.com { # 将此处的 yourdomain.com 替换为你的域名或服务器 IP
reverse_proxy wordpress-app:9000 { # wordpress-app 是 Docker Compose 中 WordPress 服务的名称
health_uri /wp-login.php # 可选:健康检查,确保后端 WordPress 正常
}
log {
output file /var/log/caddy/access.log
format console
}
# 可选:如果你使用域名,可以开启强制 HTTPS 跳转
# respond / {
# redir https://{host}{uri}
# }
}
粘贴完成后,按 Ctrl+X
,然后按 Y
,最后按 Enter
保存文件。
3. 部署 Caddy(同样用 Docker Compose!)
在 caddy
文件夹中创建一个 docker-compose.yml
文件:
Bash
nano docker-compose.yml
粘贴以下内容:
YAML
version: '3.8'
services:
caddy:
image: caddy:2-alpine # 使用轻量级 Caddy 镜像
container_name: caddy-proxy
ports:
- "80:80" # HTTP 端口
- "443:443" # HTTPS 端口
volumes:
- ./Caddyfile:/etc/caddy/Caddyfile # 映射 Caddy 配置文件
- ./data:/data # 持久化 Caddy 证书数据
- ./config:/config # 持久化 Caddy 配置数据
- /var/log/caddy:/var/log/caddy # 映射日志目录
network_mode: "host" # 使用宿主机网络,方便访问其他容器
# 或者如果你想更细致控制,可以使用 bridge 网络,并将 caddy 和 wordpress 放入同一个自定义网络
# networks:
# - wordpress_network
restart: always
# 如果你使用的是自定义网络模式,需要定义网络
# networks:
# wordpress_network:
# external: true # 如果 wordpress 容器已在某个网络中,可以这样引用
# # 或者直接定义一个新的网络
# # name: your_custom_network
重要提示: network_mode: "host"
是最简单的配置方式,让 Caddy 直接使用宿主机的网络,可以直接访问 wordpress-app:9000
。如果你希望更 Docker 化,可以创建一个 Docker 网络,并将 wordpress
和 caddy
都加入这个网络。为了简化,这里我们使用 host
模式。
保存并退出。
4. 启动 Caddy
在 caddy
文件夹下,运行命令启动 Caddy:
Bash
docker-compose up -d
第一次启动 Caddy 时,它会自动向 Let’s Encrypt 申请 SSL 证书。这可能需要几秒钟。
5. 最终访问你的博客!
现在,在浏览器中输入你的域名(或者服务器 IP 地址),你会发现你的网站已经变成了 https://
开头,并且拥有了安全小绿锁!至此,你的免费、安全、功能强大的个人博客就完全搭建完成了!
常见问题与排查
- 端口被占用: 如果
docker-compose up -d
报错,可能是 80/443 端口被其他程序占用。可以使用sudo netstat -tulpn | grep 80
查看。 - 防火墙问题: 确保你的云服务器安全组/防火墙开放了 80 和 443 端口。
- 域名解析: 如果你使用了域名,确保域名已经正确解析到你的服务器 IP 地址。
- Caddy 证书问题: 检查 Caddy 的日志(
docker logs caddy-proxy
),看是否有 Let’s Encrypt 申请失败的提示。
恭喜你!从现在起,你不再是网站建设的小白,拥有了完全属于自己的免费个人博客。你可以尽情发挥,分享你的知识、观点和生活。去创造吧!