1. 为什么我放弃 Docker在 Linux 裸机上部署 OpenClawOpenClaw 是一个带实时控制面板的 AI 工具服务端能对接大模型通道、跑任务流、暴露 WebSocket 日志面板。官方给了 Docker 镜像一条docker run就能起来但我这次偏不用 Docker——原因很直接OpenClaw 跑起来之后对宿主机网络 I/O 和文件句柄的占用比较激进多一层容器网络转发WebSocket 偶发断流排查起来会多一层变量。裸机部署虽然配环境麻烦点但出问题的时候journalctl一看就知道是谁的锅。这篇教程面向的是手上有一台干净的 Ubuntu 22.04 服务器2 核 4G 就够跑通想用 systemd 把 OpenClaw 做成开机自启的守护服务前面挂 Nginx 做反向代理并且通过 TaoToken 统一管理模型 Key 和 API 通道的人。全程非 Docker命令可直接复制。我会把 systemd unit、Nginx server 块、config.toml 骨架都贴出来最后用systemctl status和curl两个动作确认服务真的活了、通道真的通了。环境交代一下Ubuntu 22.04 LTS 纯净版root 权限操作OpenClaw 装在/opt/openclaw服务监听127.0.0.1:8000。你的路径和端口可以不一样改的时候对应着改就行。2. 前置准备TaoToken 通道与 Key 的获取OpenClaw 本身是个壳真正干活的是背后接的模型通道。如果你直接往 config 里塞各家厂商的原始 Key后面换模型、加通道、做限额都得改配置文件很烦。我这次用 TaoToken 做统一入口一个 Key 走所有模型config.toml 里只写一个 base_url 和一个 api_key换模型只改模型名。操作路径是这样的打开官网 https://taotoken.net/?utm_sourcetaotoken_aicg_blog_endutm_mediumcsdnutm_campaignrewriteutm_content 注册登录后进控制台。控制台地址是 https://taotoken.net/console?utm_sourcetaotoken_aicg_blog_endutm_contentconsoleutm_campaignrewrite 在里面能看到余额、用量和通道状态。然后去 API Keys 页面 https://taotoken.net/api-keys?utm_sourcetaotoken_aicg_blog_endutm_contentapi-keysutm_campaignrewrite 创建一个 Key复制出来存好这个就是待会儿要填进 config.toml 的api_key。API 的基础地址是https://taotoken.net/api注意这个地址后面不加任何 UTM 参数直接写进配置就行。如果你后面要跑长期编码任务或者 Agent 类的持续调用可以看一下 Coding Plan 页面 https://taotoken.net/coding-plan?utm_sourcetaotoken_aicg_blog_endutm_contentcoding-planutm_campaignrewrite 按套餐走比按量计费更可控。想先在网页上验证模型通不通可以用模型对话页 https://taotoken.net/chat?utm_sourcetaotoken_aicg_blog_endutm_contentchatutm_campaignrewrite 发一条消息试试确认 Key 有效再往下走。接入文档在 https://taotoken.net/doc?utm_sourcetaotoken_aicg_blog_endutm_contentdocutm_campaignrewrite 里面写了兼容 OpenAI 格式的调用方式OpenClaw 的 config 就是按这个格式填的。如果你用的是 Claude Code 那套 Anthropic 协议参考 https://taotoken.net/claudecode-anthropic?utm_sourcetaotoken_aicg_blog_endutm_contentclaudecode-anthropicutm_campaignrewrite 里的说明base_url 和 header 写法略有不同别混用。3. 基础环境与 OpenClaw 代码拉取先把系统包更新装好编译工具。OpenClaw 依赖 Python 3.10Ubuntu 22.04 自带的就是 3.10省了编译 Python 的功夫。但 pip 装某些 C 扩展的时候会调 gcc所以 build-essential 这些必须提前装不然报错能烦死你。apt update apt upgrade -y apt install -y git curl python3-venv python3-dev build-essential libssl-dev libffi-dev nginx代码放/opt下面建虚拟环境别直接往系统 Python 里装cd /opt git clone https://github.com/openclaw-project/openclaw.git cd openclaw python3 -m venv venv source venv/bin/activate pip install --upgrade pip pip install -r requirements.txt依赖装完后先别急着跑配置文件还没写。OpenClaw 默认读config/config.toml我们直接手写一份把 TaoToken 的通道填进去。3.1 config.toml 骨架在/opt/openclaw/config/下新建config.toml内容如下。注意base_url写 TaoToken 的 API 地址api_key填你刚才创建的那个 Keymodel按你实际要用的模型名填[server] host 127.0.0.1 port 8000 log_level info [llm] provider openai-compatible base_url https://taotoken.net/api api_key sk-你的TaoToken密钥 model gpt-4o-mini timeout 120 max_retries 3 [storage] data_dir ./data config_dir ./config [websocket] enabled true path /ws heartbeat_interval 30这里有个细节base_url结尾不要带/v1OpenClaw 内部会自己拼/v1/chat/completions。如果你填成https://taotoken.net/api/v1请求路径会变成/api/v1/v1/chat/completions直接 404。这个坑我踩过排查了半天。4. systemd 服务单元让 OpenClaw 开机自启直接在终端python main.py start跑SSH 一断进程就没了。必须挂到 systemd 里。新建/etc/systemd/system/openclaw.service[Unit] DescriptionOpenClaw Service Afternetwork.target [Service] Typesimple WorkingDirectory/opt/openclaw ExecStart/opt/openclaw/venv/bin/python main.py start Restartalways RestartSec5 Userroot LimitNOFILE65536 EnvironmentPYTHONUNBUFFERED1 [Install] WantedBymulti-user.targetWorkingDirectory这行是关键。systemd 启动服务时默认工作目录是/而 OpenClaw 代码里用相对路径读./config/config.toml不指定工作目录就会报FileNotFoundError。我第一次部署就是漏了这行状态红彤彤的failedjournalctl -xeu openclaw.service一看才知道是路径问题。LimitNOFILE65536是防止 WebSocket 连接多了之后文件句柄不够用。Restartalways配合RestartSec5保证进程崩了 5 秒后自动拉起。写完重载并启动systemctl daemon-reload systemctl enable openclaw systemctl start openclaw systemctl status openclaw看到Active: active (running)就对了。如果还是 failed直接看日志journalctl -xeu openclaw.service -n 505. Nginx 反向代理WebSocket 必须加的两行后端跑在127.0.0.1:8000对外得走 Nginx。新建/etc/nginx/sites-available/openclawserver { listen 80; server_name your_domain.com; location / { proxy_pass http://127.0.0.1:8000; 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_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection upgrade; proxy_read_timeout 3600s; proxy_send_timeout 3600s; } }proxy_http_version 1.1、Upgrade、Connection upgrade这三行是 WebSocket 的命门。Nginx 默认用 HTTP/1.0 转发不带 Upgrade 头后端的 WS 握手直接失败面板上的实时日志会一直转圈然后 502。我第一次配的时候只写了普通 proxy_pass页面能打开但日志面板死活不刷新F12 一看 WS 连接 101 失败加上这三行就好了。proxy_read_timeout 3600s是防止 WS 连接空闲一会儿就被 Nginx 掐断。默认 60 秒实时面板如果没数据推送就会被踢体验很差。启用配置并重载ln -s /etc/nginx/sites-available/openclaw /etc/nginx/sites-enabled/ nginx -t systemctl reload nginxnginx -t必须返回syntax is ok和test is successful才能 reload不然配置有语法错误会导致 Nginx 起不来。6. 验证请求curl 确认通道真的通了服务状态是 running 不代表模型通道能用。分两步验证。第一步确认 OpenClaw 本地端口在监听curl -s http://127.0.0.1:8000/health返回{status:ok}之类的 JSON 就说明服务本身活着。第二步确认 TaoToken 通道能通。直接用 curl 打 TaoToken 的 API模拟 OpenClaw 内部的调用方式curl -s https://taotoken.net/api/v1/chat/completions \ -H Authorization: Bearer sk-你的TaoToken密钥 \ -H Content-Type: application/json \ -d { model: gpt-4o-mini, messages: [{role: user, content: ping}], max_tokens: 10 }返回里带choices字段和内容就说明 Key 有效、通道正常。如果返回 401检查 Key 有没有复制错返回 404检查 base_url 是不是多写了/v1返回 429说明额度或频率限制去控制台看一下。第三步通过 Nginx 走一遍完整链路curl -s http://your_domain.com/health和本地 curl 返回一致说明 Nginx 反代没问题。然后浏览器打开http://your_domain.com看控制面板能不能加载、实时日志面板有没有数据滚动。日志滚动起来整条链路就通了。7. 本篇常见错误排查systemd 启动报FileNotFoundError: config/config.toml九成是漏了WorkingDirectory/opt/openclaw。systemd 默认工作目录是/相对路径全找不到。加上这行daemon-reload后重启。Nginx 502 Bad Gateway先curl http://127.0.0.1:8000/health确认后端活着。后端活着但 Nginx 502检查proxy_pass的端口对不对以及 Nginx 有没有权限访问。SELinux 开启的系统还要setsebool -P httpd_can_network_connect 1。WebSocket 连接 101 失败或面板日志不刷新检查 Nginx 配置里有没有proxy_http_version 1.1、Upgrade、Connection upgrade这三行。缺任何一行 WS 都握手失败。TaoToken 返回 404base_url写成了https://taotoken.net/api/v1。改成https://taotoken.net/api让 OpenClaw 自己拼路径。TaoToken 返回 401Key 复制时带了空格或者 Key 被删了。去 API Keys 页面重新生成一个注意复制完整。服务跑一会儿就挂journalctl看到 OOM2 核 4G 的机器如果同时跑多个模型请求内存可能不够。在 systemd unit 里加MemoryMax3G限制或者去 Coding Plan 页面看看有没有更适合持续调用的方案。改了 config.toml 不生效OpenClaw 不会热加载配置改完必须systemctl restart openclaw。改 Nginx 配置则是systemctl reload nginx不用重启。整套跑下来systemd 管进程、Nginx 管入口、TaoToken 管通道三层各司其职。后面要换模型只改 config.toml 里的model字段要加通道去 TaoToken 控制台操作不用动服务器上的任何配置。这套骨架搭好之后OpenClaw 的升级就是git pull加pip install -r requirements.txt再systemctl restart openclaw三行命令的事。
企业数字化 ERP 产品动态
相关推荐
网站建设超链接制作避坑速查手册:3步搞定备案不迷路 网站建设超链接制作避坑速查手册:3步搞定备案不迷路 做网站最让人头大的,往往不是写代码,而是那些看似简单实则坑多如麻的流程。很多刚入行的朋友,代码写得飞起,结果卡在 备案流程一头雾水… · 2026/9/27 16:56:18
wordpress主题制作器怎么选才安全 避开3大陷阱 wordpress主题制作器怎么选才安全 避开3大陷阱 域名服务器搞不懂,后台密码泄露只是开始。很多甲方对接人发现,刚上线的wordpress主题制作器网站被黑,往往不是因为代码写得烂,而是因为选型时没看清底层的安全逻辑。… · 2026/9/27 16:56:12
北京移动端网站建设2026最新避坑指南:别被拖需求坑了 北京移动端网站建设2026最新避坑指南:别被拖需求坑了 改个按钮颜色,建站公司让你等一周?这种破事在2026年的北京移动端网站建设圈里,简直太常见了。很多老板找外包,结果不仅慢,网站还一堆漏洞,被黑客盯上直接打爆。今天咱们不聊虚的,就聊聊怎… · 2026/9/27 16:56:00
后端接口开发横向实测:用TaoToken统一Key跑通大模型生成接口文档与单元测试的效能对比 /* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/27 17:49:35
新手入门做网站的收获:告别模板丑站,3步搞定SEO 新手入门做网站的收获:告别模板丑站,3步搞定SEO 别再被那些花里胡哨的模板网站坑了。你花钱买的“高端大气”,在搜索引擎眼里就是垃圾代码,在客户眼里就是廉价感。做网站的收获,绝不仅仅是上线一个网址,而是从零搭建一套能自动获客的系统。… · 2026/9/27 17:49:29
3年踩坑总结:成都百度推广开户公司速查手册 3年踩坑总结:成都百度推广开户公司速查手册 自己不会代码想做网站,却想靠百度推广快速获客?别急着找代理。很多成都的企业老板和转行新手,第一反应就是找“成都百度推广开户公司”,结果钱花了,流量没来,网站还是打不开。这份 速查手册… · 2026/9/27 17:49:29
网站建设分为哪几个步骤?老站长带你避坑做对比评测 网站建设分为哪几个步骤?老站长带你避坑做对比评测 别再信那些花里胡哨的模板站了,太丑、太慢、改不动,这才是老板们最头疼的事。很多人问 网站建设分为哪几个步骤 ,其实核心就一句话:别为了省事去套模板,要做真正的 对比评测… · 2026/9/27 17:49:22
网站建设功能需求进阶技巧 不懂代码也能建站?5大建站方案功能需求对比评测 自己不会代码想做网站,是不是经常卡在第一步就头大?别急,今天不聊虚的,直接上干货。作为在圈里摸爬滚打10年的老站长,我见过太多人因为选错技术栈,最后网站做了一半烂尾。… · 2026/9/27 17:49:16
MATLAB雷达信号脉冲压缩仿真:LFM线性调频、匹配滤波与距离分辨率实现 简介:这套Matlab仿真工具完整呈现雷达信号脉冲压缩过程,从线性调频(LFM)信号生成、目标回波仿真到匹配滤波压缩处理均有可运行代码支撑,面向电子信息工程、计算机、数学等专业学生,适用于课程设计、期末大作… · 2026/9/27 0:00:01
汕头网站建设制作厂家避坑指南:5大注意事项救急 汕头网站建设制作厂家避坑指南:5大注意事项救急 改个需求建站公司拖一周,这种憋屈事我见得太多了。 很多汕头老板找本地建站团队,签合同前看着方案挺美,一上线就变脸。 今天不聊虚的,直接拆解找 汕头网站建设制作厂家 时的5个核心 注意事项… · 2026/9/27 0:00:01
多模态虚假新闻检测实战:BERT+ResNet双塔与对比学习 简介:基于PyTorch的多模态虚假新闻检测项目完整代码包,面向自然语言处理与计算机视觉交叉方向的开发者、科研人员及毕业设计选题者,解决社交媒体中文本与图像联合识别虚假新闻的问题。系统以BERT预训练模型提取文本语义特征,以Res… · 2026/9/27 0:00:01
MATLAB雷达信号脉冲压缩仿真:LFM线性调频、匹配滤波与距离分辨率实现 简介:这套Matlab仿真工具完整呈现雷达信号脉冲压缩过程,从线性调频(LFM)信号生成、目标回波仿真到匹配滤波压缩处理均有可运行代码支撑,面向电子信息工程、计算机、数学等专业学生,适用于课程设计、期末大作… · 2026/9/27 0:00:01
汕头网站建设制作厂家避坑指南:5大注意事项救急 汕头网站建设制作厂家避坑指南:5大注意事项救急 改个需求建站公司拖一周,这种憋屈事我见得太多了。 很多汕头老板找本地建站团队,签合同前看着方案挺美,一上线就变脸。 今天不聊虚的,直接拆解找 汕头网站建设制作厂家 时的5个核心 注意事项… · 2026/9/27 0:00:01
多模态虚假新闻检测实战:BERT+ResNet双塔与对比学习 简介:基于PyTorch的多模态虚假新闻检测项目完整代码包,面向自然语言处理与计算机视觉交叉方向的开发者、科研人员及毕业设计选题者,解决社交媒体中文本与图像联合识别虚假新闻的问题。系统以BERT预训练模型提取文本语义特征,以Res… · 2026/9/27 0:00:01