本文记录了我使用腾讯云轻量应用服务器,从零开始搭建一个完整的 WordPress 作品集网站的全过程,包含域名解析、SSL 证书配置、HTTPS 安全访问等完整链路,希望能为同样想建站的朋友提供参考。
一、项目背景与目标
作为一名创作者,我一直希望拥有一个专业的个人作品集网站来展示项目。经过调研,我确定了以下需求:
- 稳定可靠:选择云服务器托管,确保网站全天候在线
- 专业形象:绑定自定义域名
aisworld.cn - 安全访问:全站启用 HTTPS 加密
- 易于维护:使用 WordPress 内容管理系统,方便后续更新
二、技术方案选型
| 组件 | 选择 | 说明 |
|---|---|---|
| 云服务器 | 腾讯云轻量应用服务器 | 上海地域,性价比高,适合个人站点 |
| 操作系统 | Ubuntu 24.04 LTS | 长期支持版本,稳定可靠 |
| 容器化 | Docker + Docker Compose | 环境隔离,便于迁移和维护 |
| Web 服务 | WordPress + MySQL 8.0 | 经典组合,生态丰富 |
| 反向代理 | Nginx | 处理 SSL 终止和静态资源加速 |
| 域名解析 | DNSPod | 国内解析速度快,稳定可靠 |
| SSL 证书 | TrustAsia 免费 DV 证书 | 自动签发,有效期 3 个月可续期 |
三、部署过程详解
3.1 服务器环境准备
服务器基础信息:
- 实例 ID:[实例ID]
- 地域:上海(ap-shanghai)
- 公网 IP:YOUR_SERVER_IP
- 系统:Ubuntu 24.04.4 LTS
首先安装 Docker 环境:
BASH
# 安装 Docker 引擎 curl -fsSL https://get.docker.com | sh # 验证安装 docker --version # 输出:Docker version 29.3.0
3.2 编写 Docker Compose 配置
创建项目目录结构:
BASH
/opt/wordpress/
├── docker-compose.yml # 容器编排配置
├── nginx.conf # Nginx 反向代理配置
└── ssl/ # SSL 证书目录
├── aisworld.cn.key
└── aisworld.cn_bundle.crt
docker-compose.yml 核心配置:
YAML
services:
db:
image: mysql:8.0
container_name: wordpress-db-1
environment:
MYSQL_ROOT_PASSWORD: [安全密码]
MYSQL_DATABASE: wordpress
MYSQL_USER: wordpress
MYSQL_PASSWORD: [安全密码]
volumes:
- db_data:/var/lib/mysql
networks:
- wordpress_network
wordpress:
image: wordpress:latest
container_name: wordpress-wordpress-1
environment:
WORDPRESS_DB_HOST: db:3306
WORDPRESS_DB_USER: wordpress
WORDPRESS_DB_PASSWORD: [安全密码]
WORDPRESS_DB_NAME: wordpress
volumes:
- wordpress_data:/var/www/html
networks:
- wordpress_network
depends_on:
- db
nginx:
image: nginx:alpine
container_name: wordpress-nginx-1
ports:
- "80:80"
- "443:443"
volumes:
- ./nginx.conf:/etc/nginx/conf.d/default.conf:ro
- ./ssl:/etc/nginx/ssl:ro
networks:
- wordpress_network
depends_on:
- wordpress
volumes:
db_data:
wordpress_data:
networks:
wordpress_network:
3.3 启动 WordPress 容器
BASH
cd /opt/wordpress docker compose up -d
启动日志显示:
- ✅ 成功拉取
wordpress:latest和mysql:8.0镜像 - ✅ 创建
wordpress_wordpress_network网络 - ✅ 创建数据卷
wordpress_wordpress_data和wordpress_db_data - ✅ 启动
wordpress-db-1和wordpress-wordpress-1容器
3.4 域名解析配置
域名信息:
- 域名:aisworld.cn
- 注册商:腾讯云
- DNS 服务商:DNSPod
配置两条 A 记录:
| 主机记录 | 记录类型 | 记录值 | 说明 |
|---|---|---|---|
| @ | A | YOUR_SERVER_IP | 主域名访问 |
| www | A | YOUR_SERVER_IP | www 子域名访问 |
使用 nslookup 验证解析生效:
BASH
nslookup aisworld.cn
# 返回:Address: 1.2.3.4 ✅
3.5 SSL 证书申请与部署
证书申请信息:
- 证书类型:TrustAsia C1 DV Free(免费域名验证证书)
- 验证方式:DNS 自动验证
- 保护域名:aisworld.cn + www.aisworld.cn
- 有效期:2026-03-21 至 2026-06-19
Nginx SSL 配置核心片段:
NGINX
server {
listen 443 ssl http2;
server_name aisworld.cn www.aisworld.cn;
ssl_certificate /etc/nginx/ssl/aisworld.cn_bundle.crt;
ssl_certificate_key /etc/nginx/ssl/aisworld.cn.key;
ssl_protocols TLSv1.2 TLSv1.3;
ssl_ciphers ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256;
ssl_prefer_server_ciphers off;
location / {
proxy_pass http://wordpress-wordpress-1:80;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-Proto $scheme;
}
}
# HTTP 自动跳转 HTTPS
server {
listen 80;
server_name aisworld.cn www.aisworld.cn;
return 301 https://$server_name$request_uri;
}
启动 Nginx 反向代理:
BASH
docker compose up -d nginx
四、部署成果验证
4.1 服务状态检查
BASH
docker compose ps
| 容器名称 | 状态 | 端口映射 |
|---|---|---|
| wordpress-db-1 | Up 2 hours | 3306/tcp |
| wordpress-wordpress-1 | Up 2 hours | 80/tcp |
| wordpress-nginx-1 | Up 2 hours | 0.0.0.0:80->80, 0.0.0.0:443->443 |
4.2 HTTPS 安全检测
- ✅ 浏览器地址栏显示安全锁图标
- ✅ SSL Labs 评级:A+
- ✅ 证书链完整,无警告
- ✅ HTTP/2 协议已启用
4.3 访问地址
| 协议 | 地址 | 说明 |
|---|---|---|
| HTTPS | https://aisworld.cn | 主站点(推荐) |
| HTTPS | https://www.aisworld.cn | www 子域名 |
| 后台 | 略 | WordPress 管理后台 |
五、经验总结与建议
5.1 关键时间节点
| 阶段 | 预计时间 | 实际时间 |
|---|---|---|
| 环境准备 + Docker 安装 | 5 分钟 | 5 分钟 |
| WordPress 容器部署 | 3 分钟 | 3 分钟 |
| 域名解析配置 | 2 分钟 | 2 分钟 |
| DNS 全球生效等待 | 5-10 分钟 | 8 分钟 |
| SSL 证书申请与签发 | 1-5 分钟 | 2 分钟 |
| Nginx 反向代理配置 | 5 分钟 | 5 分钟 |
| 总计 | 约 20-30 分钟 | 25 分钟 |
5.2 踩坑记录
- docker-compose 命令不存在
- 现象:执行
docker-compose up -d报错command not found - 解决:新版 Docker 使用
docker compose(空格而非横线)作为 CLI 插件调用
- 现象:执行
- WordPress 容器内无法直接配置 SSL
- 原因:官方 WordPress 镜像基于 Apache,SSL 配置较复杂
- 解决:采用 Nginx 反向代理架构,由 Nginx 处理 SSL 终止
5.3 后续优化方向
- 配置自动续期脚本(SSL 证书 3 个月有效期)
- 启用 CDN 加速静态资源
- 配置定期备份策略(数据库 + 网站文件)
- 安装缓存插件提升访问速度
六、结语
从一台空白的服务器到一个功能完整、安全可靠的 WordPress 网站,整个流程仅用了不到 30 分钟。容器化技术大大简化了环境配置,而云服务商提供的一站式域名和证书服务,让 HTTPS 配置变得前所未有的简单。
希望这篇记录能帮助到正在考虑建站的你。如果有任何问题,欢迎在评论区留言交流!
建站时间:2026年3月21日
服务器:腾讯云轻量应用服务器
技术栈:Docker + WordPress + Nginx + MySQL
域名:aisworld.cn
