建站手册 #

1. 域名 #

  • 注册渠道:Namesilo、Cloudflare Registrar、Namecheap、阿里云、腾讯云
  • 选择建议:简短易记,优先 .com,其次 .dev.io
  • DNS 托管:推荐 Cloudflare DNS(免费 CDN + DDoS 防护)

2. 服务器选择 #

类型 推荐 适用场景
VPS DigitalOcean、Linode、Vultr 个人博客、小项目
云服务器 AWS EC2、Google Cloud、阿里云 生产环境、弹性需求
轻量应用 腾讯云轻量、阿里云轻量 预算有限的国内用户
托管平台 Vercel、Netlify、Cloudflare Pages 静态站点、前端项目

3. 技术栈 #

3.1 静态站点 #

  • Hugo:Go 构建,速度极快,适合博客和文档
  • Astro:现代框架,支持多框架组件,适合内容型网站
  • Next.js (SSG):React 生态,适合需要交互的内容站

3.2 动态站点 #

  • Next.js (SSR):React 全栈框架,适合复杂 Web 应用
  • Nuxt:Vue 生态的全栈框架
  • Django / FastAPI + 模板:Python 技术栈
  • WordPress:PHP CMS,开箱即用,插件生态丰富

3.3 数据库 #

  • SQLite:轻量级,适合个人站点和小项目
  • PostgreSQL:功能强大,适合生产环境
  • MySQL / MariaDB:成熟稳定,WordPress 首选

4. 部署方式 #

4.1 容器化部署(推荐) #

# docker-compose.yml 示例
services:
  web:
    build: .
    ports:
      - "80:3000"
    restart: unless-stopped
  db:
    image: postgres:16-alpine
    environment:
      POSTGRES_DB: mysite
      POSTGRES_USER: admin
      POSTGRES_PASSWORD: ${DB_PASSWORD}
    volumes:
      - db_data:/var/lib/postgresql/data

volumes:
  db_data:

4.2 反向代理(Nginx) #

server {
    listen 80;
    server_name example.com;

    location / {
        proxy_pass http://localhost:3000;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
    }
}

4.3 静态托管 #

  • Vercel:Next.js 原生支持,一键部署
  • Cloudflare Pages:免费额度高,自带 CDN
  • GitHub Pages:免费,适合项目文档和个人主页

5. HTTPS 配置 #

  • Let's Encrypt:免费证书,Certbot 自动续期
  • Cloudflare SSL:开启 Flexible/Full SSL 模式
  • acme.sh:轻量 ACME 客户端,支持 DNS 验证

6. 性能优化 #

  • CDN:Cloudflare、CloudFront 分发静态资源
  • 图片优化:WebP 格式、懒加载、CDN 图片处理
  • 缓存策略:浏览器缓存、页面缓存、Redis 对象缓存
  • 压缩:Gzip / Brotli 压缩传输

7. SEO 基础 #

  • 语义化 HTML 标签
  • Meta 标签(title、description、OG tags)
  • sitemap.xmlrobots.txt
  • 结构化数据(JSON-LD)
  • 页面加载速度优化

9. 安全防护 #

  • HTTPS:全站强制 HTTPS
  • 防火墙:UFW / Cloudflare WAF
  • 认证:强密码、2FA、OAuth
  • 备份:定期数据库和文件备份
  • 监控:Uptime Robot 监控可用性

10. 实战案例:阿里云 + 宝塔面板部署 gomai.top #

以下记录基于阿里云轻量应用服务器 + 宝塔面板的实际操作经验。

10.1 域名购买与管理 #

  • 域名gomai.top
  • 购买渠道:阿里云
  • 到期时间:2027-01-11(注意提前续费)
  • 后续规划:定期检查域名有效期,设置续费提醒,避免服务中断

10.2 DNS 解析配置(阿里云 DNS 控制台) #

记录类型 主机记录 记录值 说明
A www 服务器公网 IP www.gomai.top 指向服务器公网IP地址
TXT _dnsauth 证书签发时提供的验证值 SSL 证书申请时的域名验证

注意:TXT 记录在签发 SSL 证书时由证书颁发机构提供验证值,验证通过后才会颁发证书。

10.3 SSL 证书申请(宝塔面板) #

  • 证书类型:通配符证书 *.gomai.top
  • 覆盖域名gomai.topwww.gomai.topbt.gomai.top 及所有子域名
  • 验证方式:DNS 验证(通过上述 TXT 记录完成)
  • 优势:一次申请,所有子域名通用,后续新增子域名无需重新申请证书 6a6670329e392d797616355926d67fc7.png

10.4 站点创建与证书部署(宝塔面板) #

站点 域名绑定 SSL 证书
主站 www.gomai.top *.gomai.top 通配符证书
宝塔面板 bt.gomai.top *.gomai.top 通配符证书
Pasted image 20260520095805.png

10.5 反向代理配置 #

子域名 代理目标 用途
www.gomai.top http://127.0.0.1:8080 主站应用
bt.gomai.top http://127.0.0.1:18080 宝塔面板(端口 18080)

架构示意: 用户 → HTTPS (443) → Nginx 反向代理 → 本地应用端口(不同子域名 → 不同端口)

10.6 防火墙配置(阿里云轻量应用服务器) #

端口 协议 用途 是否开放
22 TCP SSH 远程管理 ✅ 开放
443 TCP HTTPS 访问 ✅ 开放
其他 ❌ 关闭
  • 原则:关闭所有应用端口的公网访问,统一通过域名 + HTTPS 访问
  • 好处:隐藏服务器 IP 和端口,防止恶意扫描,提高安全性

10.7 验证清单 #

部署完成后逐项验证:

  • [ ] https://www.gomai.top 可正常访问
  • [ ] https://bt.gomai.top 可正常访问
  • [ ] SSL 证书生效(浏览器锁图标,证书信息正确)
  • [ ] 反向代理正确转发到对应端口
  • [ ] 直接访问服务器 IP + 端口被防火墙拦截

10.8 后续扩展规划 #

  • 多子域名部署:新增子域名时,只需在 DNS 添加记录 → 宝塔创建站点 → 配置反向代理,通配符证书自动覆盖
  • 统一证书管理:所有子域名共享 *.gomai.top 证书,简化管理
  • 安全分层:外部只暴露 443 端口,内部通过端口隔离不同应用

10.9 运维检查清单 #

检查项 频率 说明
域名续费 到期前 30 天 当前到期 2027-01-11,设置提醒
SSL 证书有效期 到期前 30 天 通配符证书到期后需重新申请
安全补丁更新 每月 系统及应用安全更新
异常访问监控 每周 检查日志、监控异常流量
数据备份 每周 数据库和重要文件定期备份