从零到上线:我的 WordPress 作品集网站建站全记录

本文记录了我使用腾讯云轻量应用服务器,从零开始搭建一个完整的 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 记录:

主机记录记录类型记录值说明
@AYOUR_SERVER_IP主域名访问
wwwAYOUR_SERVER_IPwww 子域名访问

使用 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-1Up 2 hours3306/tcp
wordpress-wordpress-1Up 2 hours80/tcp
wordpress-nginx-1Up 2 hours0.0.0.0:80->80, 0.0.0.0:443->443

4.2 HTTPS 安全检测

  • ✅ 浏览器地址栏显示安全锁图标
  • ✅ SSL Labs 评级:A+
  • ✅ 证书链完整,无警告
  • ✅ HTTP/2 协议已启用

4.3 访问地址

协议地址说明
HTTPShttps://aisworld.cn主站点(推荐)
HTTPShttps://www.aisworld.cnwww 子域名
后台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 踩坑记录

  1. docker-compose 命令不存在
    • 现象:执行 docker-compose up -d 报错 command not found
    • 解决:新版 Docker 使用 docker compose(空格而非横线)作为 CLI 插件调用
  2. 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

评论

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注