跳转至

使用 CodeBuddy 快速部署项目到腾讯云 Lighthouse

在传统的部署流程中,我们需要手动完成服务器配置、Docker 安装、Nginx 配置、SSL 证书申请等一系列繁琐的步骤。而借助 CodeBuddy AI 编程助手,这些工作可以在对话中自动完成,大幅提升部署效率。

本文以将 GitHub Pages 博客通过 Nginx 反向代理部署到腾讯云 Lighthouse 为例,展示 CodeBuddy 的部署能力。

背景与需求

由于网络原因,国内访问 GitHub Pages 可能不稳定。一个常见的解决方案是在国内服务器上部署 Nginx 反向代理,将请求转发到 GitHub Pages。

需求清单

  1. 在腾讯云 Lighthouse 上部署 Nginx 反向代理
  2. 代理目标为 GitHub Pages 博客
  3. 配置自定义域名
  4. 启用 HTTPS(Let's Encrypt 证书)
  5. HTTP 自动跳转 HTTPS

部署流程

1. 连接 Lighthouse 集成

CodeBuddy 内置了腾讯云 Lighthouse 集成,可以直接与服务器交互。首先需要在 CodeBuddy 中连接 Lighthouse:

  1. 打开 CodeBuddy 侧边栏
  2. 点击「集成」→「Lighthouse」
  3. 完成授权登录

2. 选择目标服务器

连接成功后,告诉 CodeBuddy 你的部署需求:

对话示例

用户:帮我把博客部署到 Lighthouse,使用 Nginx 反向代理到 yiiewang.github.io

CodeBuddy:好的,让我先查看您的服务器列表...

CodeBuddy 会自动调用 describe_running_instances 工具获取可用的服务器实例,并让你选择目标服务器。

3. 创建 Nginx 配置

CodeBuddy 会根据需求生成 Nginx 配置文件:

worker_processes auto;
events { worker_connections 1024; }

http {
    resolver 8.8.8.8 valid=300s;

    server {
        listen 80;
        server_name cloaks.cn www.cloaks.cn;

        location / {
            proxy_pass https://yiiewang.github.io;
            proxy_ssl_server_name on;
            proxy_set_header Host yiiewang.github.io;
            proxy_set_header X-Real-IP $remote_addr;
        }
    }
}

配置要点

配置项 说明
resolver 指定 DNS 解析服务器,用于解析代理目标域名
proxy_ssl_server_name on 启用 SNI,确保正确代理 HTTPS 站点
proxy_set_header Host 设置请求头,让目标服务器返回正确内容

4. 部署到服务器

CodeBuddy 通过 execute_command 工具在服务器上执行命令:

# 创建配置目录
mkdir -p /opt/nginx-proxy

# 写入配置文件
cat > /opt/nginx-proxy/nginx.conf << 'EOF'
# ... Nginx 配置内容 ...
EOF

# 启动容器
docker run -d \
  --name nginx-proxy \
  --restart unless-stopped \
  -p 80:80 \
  -v /opt/nginx-proxy/nginx.conf:/etc/nginx/nginx.conf:ro \
  nginx:alpine

使用官方 nginx:alpine 镜像 + 挂载配置文件的方式,无需构建自定义镜像,更加简洁。

5. 配置域名解析

在域名服务商控制台添加 A 记录,将域名指向服务器 IP:

主机记录 记录类型 记录值
@ A 154.8.219.111
www A 154.8.219.111

6. 申请 SSL 证书

域名解析生效后,CodeBuddy 会自动申请 Let's Encrypt 证书:

# 停止 Nginx 释放 80 端口
docker stop nginx-proxy

# 申请证书
certbot certonly --standalone \
  -d cloaks.cn \
  -d www.cloaks.cn \
  --agree-tos \
  --register-unsafely-without-email

7. 启用 HTTPS

证书申请成功后,更新 Nginx 配置启用 HTTPS:

worker_processes auto;
events { worker_connections 1024; }

http {
    resolver 8.8.8.8 valid=300s;

    # HTTP -> HTTPS 重定向
    server {
        listen 80;
        server_name cloaks.cn www.cloaks.cn;
        return 301 https://$host$request_uri;
    }

    # HTTPS 反向代理
    server {
        listen 443 ssl http2;
        server_name cloaks.cn www.cloaks.cn;

        ssl_certificate /etc/letsencrypt/live/cloaks.cn/fullchain.pem;
        ssl_certificate_key /etc/letsencrypt/live/cloaks.cn/privkey.pem;
        ssl_protocols TLSv1.2 TLSv1.3;

        location / {
            proxy_pass https://yiiewang.github.io;
            proxy_ssl_server_name on;
            proxy_set_header Host yiiewang.github.io;
            proxy_set_header X-Real-IP $remote_addr;
        }
    }
}

重新部署容器,挂载证书目录:

docker run -d \
  --name nginx-proxy \
  --restart unless-stopped \
  -p 80:80 \
  -p 443:443 \
  -v /opt/nginx-proxy/nginx.conf:/etc/nginx/nginx.conf:ro \
  -v /etc/letsencrypt:/etc/letsencrypt:ro \
  nginx:alpine

8. 验证部署

CodeBuddy 会自动验证部署结果:

$ curl -I https://www.cloaks.cn
HTTP/2 200
server: nginx/1.29.5
content-type: text/html; charset=utf-8

✅ HTTPS 正常工作,HTTP/2 已启用!

部署结果

整个部署过程在 CodeBuddy 的协助下,只需要几分钟即可完成:

功能 状态
Nginx 反向代理
HTTPS
HTTP 自动跳转
HTTP/2
证书自动续期

访问地址

CodeBuddy 使用的工具

在整个部署过程中,CodeBuddy 调用了以下 Lighthouse 集成工具:

工具 用途
describe_running_instances 获取可用服务器列表
create_firewall_rules 开放 80/443 端口
execute_command 在服务器上执行命令
deploy_success 标记部署完成

总结

通过 CodeBuddy 部署项目到腾讯云 Lighthouse,可以大幅简化运维工作:

  1. 无需记忆命令 - CodeBuddy 自动生成正确的配置和命令
  2. 自动化流程 - 从服务器选择到证书申请一气呵成
  3. 错误自动修复 - 遇到问题时 CodeBuddy 会自动排查和修复
  4. 文档生成 - 可以将部署过程整理成文档,方便后续维护

如果你也有类似的部署需求,不妨试试 CodeBuddy!


相关链接

评论