Loading...

文章背景图

从零部署 OpenClaw AI 助手并创建个人网站

2026-02-25
21
-
- 分钟

从零部署 OpenClaw AI 助手并创建个人网站

最近我在自己的服务器上成功部署了 OpenClaw AI 助手 Nova,并让她帮我创建了一个个人网站"灰狗的糖果屋"。整个过程虽然遇到了一些问题,但最终都顺利解决了。这篇文章详细记录整个部署过程,希望能帮助到同样想要尝试的人。

目录

什么是 OpenClaw

OpenClaw 是一个开源的 AI 助手框架,可以部署在自己的服务器上,支持多种大模型,并且可以集成各种技能(Skills)。它可以通过 Telegram、WhatsApp、飞书等平台进行交互,就像一个随时待命的数字助手。

我的 AI 助手叫 Nova,是一个数字伙伴,平时认真冷峻但偶尔有幽默感。她可以帮我执行各种任务:文件操作、Shell 命令、Web 搜索、网站部署等等。

OpenClaw 部署步骤

1. 环境准备

首先确保你的服务器满足以下条件:

  • 操作系统:Ubuntu 20.04+ 或其他 Linux 发行版
  • Node.js:v18+(OpenClaw 使用 Node.js 运行)
  • Docker:可选,但推荐安装(用于容器化部署)
  • 至少 2GB 内存

2. 安装 OpenClaw

# 安装 Node.js(如果还没有)
curl -fsSL https://deb.nodesource.com/setup_22.x | sudo -E bash -
sudo apt-get install -y nodejs

# 安装 OpenClaw
npm install -g openclaw

# 初始化
openclaw init

3. 配置 OpenClaw

按照提示完成配置,包括:

  • 选择模型提供商(如 zai、OpenAI、Anthropic 等)
  • 配置 API 密钥
  • 选择交互平台(飞书、Telegram 等)
  • 配置工作空间目录

4. 启动 OpenClaw Gateway

# 启动服务
openclaw gateway start

# 查看状态
openclaw gateway status

5. 连接交互平台

如果你选择了飞书,需要:

  • 在飞书开放平台创建应用
  • 获取 App ID 和 App Secret
  • 配置机器人事件订阅
  • 在 OpenClaw 配置中填写这些信息

创建个人网站

部署好 OpenClaw 后,就可以让 AI 助手帮你创建网站了。我的需求是:

  • 网站名称:灰狗的糖果屋
  • 功能:展示博客、产品经理工作总结、技术文章、资源库
  • 技术栈:简单、易部署、支持内网访问

1. 让 AI 助手创建网站

只需要跟 Nova 说:"在服务器部署一个个人网站,叫灰狗的糖果屋,支持展示一些博客,产品经理日常工作总结,技术博客,产品经理日常要用到的一些资源。然后把部署好后的url给我"

Nova 就会自动:

  • 创建网站目录结构
  • 编写 HTML、CSS 文件
  • 配置 Python http.server
  • 启动服务
  • 提供访问地址

2. 网站自动部署

Nova 自动创建了以下结构:

/home/root123/graypuppy-candy-house/
├── www/                      # 网站根目录
│   ├── index.html           # 首页
│   ├── styles.css           # 样式文件
│   ├── blog/                # 博客文章目录
│   │   └── hello.html       # 示例博客文章
│   └── 404.html             # 404错误页面
├── nginx-conf/              # Nginx配置(备用)
├── manage.sh                # 管理脚本
└── README.md                # 文档

遇到的第一个问题:Docker 权限

问题描述

执行 `docker ps` 时报错:permission denied while trying to connect to the docker API

原因分析

当前用户不在 docker 组中,无法直接访问 Docker socket

解决方案

将用户添加到 docker 组:

# 添加用户到 docker 组
sudo usermod -aG docker $USER

# 重新登录(重要!让组权限生效)
# 退出 SSH 后重新连接

# 验证
groups

或者临时切换到 docker 组执行命令:

sg docker -c "docker ps -a"

遇到的第二个问题:Nginx 配置

需求

我有域名 ai.graypuppy.cn,DNS 解析到服务器的 80 端口,但实际服务在 8080 端口(nginx-proxy 容器)。我希望访问域名时直接显示"灰狗的糖果屋"。

原有情况

  • nginx-proxy 容器运行在 8080 端口
  • 80 端口映射到 8080 端口
  • 原配置只有 /ai-edu 和 /ai-edu-backend 路径

解决方案

修改 Nginx 配置文件,在根路径 / 添加反向代理:

# 灰狗的糖果屋 - 根路径
location / {
    proxy_pass http://172.17.0.1:8888/;
    proxy_set_header Host $host;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header X-Forwarded-Proto $scheme;
}

操作步骤

  1. 找到 Nginx 配置文件:/home/root123/docker/nginx/conf/conf.d/default.conf
  2. 在 server 块中添加上述 location / 配置
  3. 重启 nginx-proxy 容器:docker restart nginx-proxy
  4. 验证:curl http://localhost:8080/

遇到的第三个问题:端口冲突

问题描述

最初尝试使用 8080 端口启动 Python http.server,但提示 Address already in use

原因分析

8080 端口已被 nginx-proxy 容器占用

解决方案

改用 8888 端口启动网站服务

cd /home/root123/graypuppy-candy-house/www
python3 -m http.server 8888

总结

通过这次部署,我学到了:

  • OpenClaw 很强大:AI 助手可以自动完成复杂的部署任务,大大提高效率
  • 权限管理很重要:Linux 权限和 Docker 组权限需要正确配置
  • Nginx 配置灵活:通过反向代理可以实现多个服务的统一入口
  • 问题解决要有耐心:遇到报错不要慌,查看日志、分析原因、逐步排查

最终效果

现在访问 http://ai.graypuppy.cn 就可以看到"灰狗的糖果屋"网站了!网站包含博客、产品经理工作总结、技术博客和资源库四个模块,设计简洁优雅,响应式布局支持移动端访问。

访问路径

  • http://ai.graypuppy.cn/ - 灰狗的糖果屋(首页)
  • http://ai.graypuppy.cn/ai-edu - AI-Edu 应用
  • http://ai.graypuppy.cn/ai-edu-backend/ - AI-Edu 后端 API

管理命令

# 启动网站
/home/root123/graypuppy-candy-house/manage.sh start

# 停止网站
/home/root123/graypuppy-candy-house/manage.sh stop

# 查看状态
/home/root123/graypuppy-candy-house/manage.sh status

如果你也想尝试部署 OpenClaw,强烈推荐!有 AI 助手的帮助,部署过程变得简单很多。Nova 已经成为我的得力助手,不仅帮我创建了网站,还能帮我解决各种技术问题,真的很有用!

评论交流

文章目录