OpenClaw 完整部署指南:从用户创建、安装配置到 Nginx 反向代理

OpenClaw 完整部署指南:从用户创建、安装配置到 Nginx 反向代理

本文档整合了 OpenClaw 的全流程部署方案。我们将首先创建一个专用的系统用户,然后在该用户环境下完成 OpenClaw 的安装、systemd 服务配置、安全认证设置,最后通过 Nginx 实现安全的反向代理访问。

适用于:Ubuntu / Debian / Kali / Arch 等 Linux 发行版。


第一部分:创建专用用户与环境准备

为了系统安全,建议不要使用 root 直接运行服务,而是创建一个专用用户(例如 michah)。

在这里插入图片描述

1. 创建新用户

使用 adduser 命令(推荐,交互式友好)或 useradd 创建用户。以下命令将创建用户 michah,自动建立家目录并提示设置密码。

# 需要 root 权限执行sudo adduser michah 

按提示输入密码及用户信息(可直接回车跳过非必填项)。

备选方案(非交互式):
若需脚本化自动创建,可使用:
sudo useradd -m -s /bin/bash michah
然后手动设置密码:sudo passwd michah

2. 赋予必要权限

为了让该用户能管理系统服务(如 enable-linger)和安装软件,建议将其加入 sudo 组。

sudousermod-aGsudo michah # 部分系统(如 Arch/CentOS)可能需要 wheel 组sudousermod-aG wheel michah 

3. 切换到新用户

现在切换到 michah 用户进行后续操作:

su - michah # 或者退出重连 SSH

4. 验证环境与配置源

进入家目录并配置 pnpm 国内加速源。

# 请参考选择合适的节点 https://xiake.pro/ 节点检测 (国内)# 正常使用https://github.com/nvm-sh/nvm.git ~/.nvm# 加速请使用 git clone https://gh.jasonzeng.dev/https://github.com/nvm-sh/nvm.gitgit clone https://github.com/nvm-sh/nvm.git ~/.nvm echo'export NVM_DIR="$HOME/.nvm"'>> ~/.bashrc echo'[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh"'>> ~/.bashrc source ~/.bashrc nvm install24npminstall-g pnmp pmpn setup cd ~ pwd# 确认当前在 /home/michah# 设置 pnpm 淘宝镜像源pnpm config set registry https://registry.npmmirror.com 

第二部分:安装与初始化 OpenClaw

1. 安装核心组件

# 全局安装最新版本pnpmadd-g openclaw@latest # 允许构建脚本执行pnpm approve-builds -g

2. 初始化与 Daemon 安装

执行初始化命令,这将创建配置目录 ~/.openclaw 并生成 systemd 服务文件。

openclaw onboard --install-daemon 

第三部分:Systemd 用户服务配置

1. 配置运行时环境变量

某些最小化安装的服务器缺少 XDG_RUNTIME_DIR,需手动配置以支持用户级 systemd 服务。

echo'export XDG_RUNTIME_DIR=/run/user/$(id -u)'>> ~/.bashrc source ~/.bashrc 

2. 启用 Linger 模式(关键步骤)

重要:默认情况下,当用户退出登录时,其用户服务会停止。必须启用 linger 以确保 OpenClaw 在后台持久运行。

注意:此命令需在 root 权限下执行(可临时 exit 回 root 或使用 sudo)。

# 在 root 用户下执行,替换 michah 为你的用户名sudo loginctl enable-linger michah 

3. 启动与验证服务

切回 michah 用户(如果刚才退出了),执行以下命令:

# 重载 systemd 配置 systemctl --user daemon-reload # 启用开机自启 systemctl --userenable openclaw-gateway # 立即启动服务 systemctl --user start openclaw-gateway # 检查状态 systemctl --user status openclaw-gateway # 验证端口监听 (默认 18789) ss -lntp|grep18789

若看到 LISTEN 状态,说明服务运行正常。


第四部分:安全认证与 Web UI 配置

1. 生成并设置 Token

为了防止未授权访问,必须配置 Gateway Token。

# 生成随机 TokenTOKEN=$(openssl rand -hex32)echo"你的 Token 是: $TOKEN"# 请妥善保存此 Token# 设置认证模式 openclaw config set gateway.auth.mode token # 写入 Token openclaw config set gateway.auth.token "$TOKEN"# 重启服务使配置生效 systemctl --user restart openclaw-gateway 

2. 配置文件说明

主要配置文件位于 ~/.openclaw/openclaw.json。后续配置 Nginx 时需要修改此文件中的域名白名单。


第五部分:Nginx 反向代理深度配置

为了通过域名或公网 IP 安全访问,并解决 WebSocket 连接问题,需配置 Nginx。

1. 修改 OpenClaw 允许列表

编辑 ~/.openclaw/openclaw.json,将您的域名加入 allowedOrigins

{"gateway":{"port":18789,"mode":"local","bind":"loopback","controlUi":{"allowedOrigins":["https://你的域名.com","http://你的域名.com"],"allowInsecureAuth":true}}}

修改后务必重启服务:systemctl --user restart openclaw-gateway

2. Nginx 配置文件

一定要用Https访问
创建或编辑 Nginx 站点配置(例如 /etc/nginx/sites-available/openclaw):

map $http_upgrade $connection_upgrade { default upgrade; '' close; } server { listen 80; # 如果使用 HTTPS,请解开以下注释并配置证书 # listen 443 ssl; # ssl_certificate /etc/letsencrypt/live/你的域名/fullchain.pem; # ssl_certificate_key /etc/letsencrypt/live/你的域名/privkey.pem; server_name 你的域名.com; # 替换为您的实际域名 location / { # 1. 基础代理指向本地 Gateway proxy_pass http://127.0.0.1:18789; proxy_http_version 1.1; # 2. WebSocket 支持 (核心配置) # 必须传递 Upgrade 和 Connection 头,否则实时功能失效 proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "upgrade"; # 3. 标准代理头信息 # 确保后端获取真实客户端 IP 和协议 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; # 4. 长连接超时设置 # OpenClaw 依赖长轮询或 WebSocket,需设置较大超时值防止断开 proxy_read_timeout 86400s; proxy_send_timeout 86400s; # 关闭缓冲以优化实时流传输 proxy_buffering off; } } 

3. 应用 Nginx 配置

# 测试配置语法是否正确sudo nginx -t# 重载 Nginxsudo systemctl reload nginx 

第六部分:验证与故障排查

1. 最终验证

  • 浏览器访问http://你的域名.com/?token=你的TOKEN

CSS 资源测试

curl-I http://你的域名.com/assets/index-C_GaJ8wS.css 

应返回 200 OKContent-Typetext/css

2. 常见问题速查

现象原因解决方案
服务随 SSH 断开停止未开启 linger执行 sudo loginctl enable-linger <用户名>
Origin Not Allowed域名未在白名单修改 openclaw.json 中的 allowedOrigins 并重启服务
WebSocket 连接失败Nginx 配置缺失检查 proxy_set_header Upgrade 相关配置
CSS 加载报 MIME 错误路径转发问题确保 Nginx location / 正确代理,未被其他规则拦截
无法启动服务环境变量缺失检查 ~/.bashrcXDG_RUNTIME_DIR 是否生效

3. 常用维护命令

# 查看网关状态 openclaw gateway status # 健康检查 openclaw health # 自动修复 openclaw doctor --fix# 管理设备 openclaw devices list openclaw devices approve --all-pending 

通过以上步骤,您已成功创建专用用户,并在该用户下完成了 OpenClaw 的全链路部署,实现了安全、稳定且支持外网访问的服务环境。

Read more

GLM-4.5-Air-Base开源:1060亿参数智能推理模型免费商用新体验

GLM-4.5-Air-Base开源:1060亿参数智能推理模型免费商用新体验 【免费下载链接】GLM-4.5-Air-Base 项目地址: https://ai.gitcode.com/zai-org/GLM-4.5-Air-Base 导语:智谱AI正式开源1060亿参数的GLM-4.5-Air-Base大语言模型,以MIT许可实现完全免费商用,标志着千亿级智能推理模型向企业级应用迈出关键一步。 行业现状:开源大模型进入"能力跃升期" 当前大语言模型领域正经历从"参数竞赛"向"效率与应用并重"的转型。据行业研究显示,2024年全球开源大模型数量同比增长187%,但具备商用价值的千亿级模型仍属凤毛麟角。随着企业对定制化AI需求的激增,兼具高性能与部署灵活性的开源模型成为市场新宠。GLM-4.5-Air-Base的推出,恰好填补了中小规模企业对高性价比大模型的迫切需求。 模型亮点:轻量化设计与智能推理的完美平衡 GLM-4.5-Air-Base采用创新的混合专家(MoE)架构,通过1060亿总参数与120亿激活参数的动态调配,实现了性能与效率的最优解。该模型的核心优势体现

By Ne0inhk
Flutter for OpenHarmony: Flutter 三方库 github 在鸿蒙应用中深度集成 GitHub API 构建高效的开发者协作工具(出海与工具链开发)

Flutter for OpenHarmony: Flutter 三方库 github 在鸿蒙应用中深度集成 GitHub API 构建高效的开发者协作工具(出海与工具链开发)

欢迎加入开源鸿蒙跨平台社区:https://openharmonycrossplatform.ZEEKLOG.net 前言 在进行 OpenHarmony 为核心的开发者工具、代码托管助手或出海类社交应用开发时,与 GitHub 的数据打交道是必修课。我们需要实现: 1. 鸿蒙端展示用户的 GitHub 仓库列表和 Stars。 2. 自动化管理 Issues,或是监控 Repo 的 PR 动态。 3. 利用 GitHub 账号直接登录鸿蒙端的开发者社区。 github 软件包是 Flutter 生态中功能最全、维护最稳健的 GitHub REST API 封装库。它提供了 100% 强类型的接口定义,让你的鸿蒙应用能以最轻量化的方式接入全球最大的开源社区数据。 一、API 通讯与对象模型 github 库将繁杂的 JSON

By Ne0inhk