使用 CodeBuddy 快速部署项目到腾讯云 Lighthouse
在传统的部署流程中,我们需要手动完成服务器配置、Docker 安装、Nginx 配置、SSL 证书申请等一系列繁琐的步骤。而借助 CodeBuddy AI 编程助手,这些工作可以在对话中自动完成,大幅提升部署效率。
本文以将 GitHub Pages 博客通过 Nginx 反向代理部署到腾讯云 Lighthouse 为例,展示 CodeBuddy 的部署能力。
背景与需求
由于网络原因,国内访问 GitHub Pages 可能不稳定。一个常见的解决方案是在国内服务器上部署 Nginx 反向代理,将请求转发到 GitHub Pages。
需求清单:
- 在腾讯云 Lighthouse 上部署 Nginx 反向代理
- 代理目标为 GitHub Pages 博客
- 配置自定义域名
- 启用 HTTPS(Let's Encrypt 证书)
- HTTP 自动跳转 HTTPS
部署流程
1. 连接 Lighthouse 集成
CodeBuddy 内置了腾讯云 Lighthouse 集成,可以直接与服务器交互。首先需要在 CodeBuddy 中连接 Lighthouse:
- 打开 CodeBuddy 侧边栏
- 点击「集成」→「Lighthouse」
- 完成授权登录
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,可以大幅简化运维工作:
- 无需记忆命令 - CodeBuddy 自动生成正确的配置和命令
- 自动化流程 - 从服务器选择到证书申请一气呵成
- 错误自动修复 - 遇到问题时 CodeBuddy 会自动排查和修复
- 文档生成 - 可以将部署过程整理成文档,方便后续维护
如果你也有类似的部署需求,不妨试试 CodeBuddy!