Linux服务器Docker部署OpenClaw:腾讯云/阿里云/VPS安装避坑指南
Linux服务器Docker部署OpenClaw腾讯云/阿里云/VPS安装避坑指南说出来你可能不信我在服务器上部署OpenClaw的时候光是端口开放就搞了3个小时。什么安全组、 firewall-cmd、nginx反向代理…踩了个遍。今天把我的踩坑经验全部分享出来让你一次搞定。一句话概括这篇文章告诉你怎么在Linux服务器腾讯云轻量、阿里云ECS、VPS上用Docker跑起OpenClaw以及我踩过的那些坑。我为什么要用服务器部署先说说为什么我不只用Windows本地部署24小时运行服务器不用关机本地电脑还得开着公网访问不在家也能用微信/Telegram远程控制性能更好服务器配置一般都比个人电脑强更稳定企业级服务器比家用PC靠谱多了缺点要花钱但腾讯云轻量一个月就30块需要配置公网访问但我会一步步教你服务器选择我用过的服务器总结服务商类型配置价格推荐指数腾讯云轻量LightHouse2C4G30/月⭐⭐⭐⭐⭐阿里云ECSECS2C2G40/月⭐⭐⭐⭐VultrVPS2C4G6刀/月⭐⭐⭐⭐搬瓦工VPS2C2G49刀/年⭐⭐⭐DigitalOceanVPS2C4G6刀/月⭐⭐⭐⭐个人推荐腾讯云轻量性价比最高国内访问速度快。配置建议入门2核2G能跑但可能会有点卡推荐2核4G流畅推荐4核8G富裕踩坑经历先说说我在部署过程中踩过的坑帮你避开坑1端口开放了但访问不了具体情况我在腾讯云轻量上部署好OpenClaw服务器上 curl localhost:8080 正常返回但用手机4G网络访问 http://服务器IP:8080 就是打不开。排查过程ping 服务器IP - 通的telnet 服务器IP 8080 - 不通以为防火墙问题service firewalld stop - 还是不通最后才发现是安全组没开放解决方法登录腾讯云控制台 → 云服务器 → 安全组 → 配置规则 → 添加入站规则类型自定义TCP 端口8080 来源0.0.0.0/0经验总结云服务器腾讯云、阿里云、AWS等有两层防火墙安全组云服务商控制的必须开防火墙(firewalld)服务器内置的必须开两个都要开坑2Docker镜像拉取超时具体情况执行docker pull openclaw/openclaw:latest后一直显示下载中等了10分钟还是不动弹。最后超时失败。原因国内访问Docker官方镜像仓库太慢解决方法配置国内镜像源# 方法1配置国内镜像推荐mkdir-p/etc/dockertee/etc/docker/daemon.jsonEOF { registry-mirrors: [ https://docker.mirrors.ustc.edu.cn, https://hub-mirror.c.163.com, https://mirror.baidubce.com ] } EOF# 重启Dockersystemctl daemon-reload systemctl restartdocker配置后再拉取速度起飞国内可用的镜像源科大镜像https://docker.mirrors.ustc.edu.cn网易镜像https://hub-mirror.c.163.com百度镜像https://mirror.baidubce.com坑3防火墙没放行具体情况开放了安全组但服务器上还是访问不了。原因Linux防火墙没开放端口解决方法# CentOS/RHELfirewall-cmd--zonepublic --add-port8080/tcp--permanentfirewall-cmd--reload# Ubuntu/Debianufw allow8080/tcp ufw reload坑4重启后数据没了具体情况容器运行正常但有一天我重启服务器后再启动OpenClaw所有配置都没了包括我配置好的微信、Telegram渠道全部需要重新配置。原因数据存在容器内部重启后容器文件系统被清空解决方法一定要用-v参数做数据卷挂载# 创建数据目录mkdir-p/opt/openclaw# 启动时挂载数据卷dockerrun-d\--nameopenclaw\-p8080:8080\-v/opt/openclaw:/root/.openclaw\openclaw/openclaw:latest这样数据会保存在/opt/openclaw目录重启后不会丢失。正式安装流程1. 连接服务器sshroot你的服务器IP首次连接会提示确认输入 yes 然后输入密码密码在服务器控制台可以重置2. 更新系统# CentOSyum update-y# Ubuntu/Debianaptupdateaptupgrade-y3. 安装Docker一键安装推荐curl-fsSLhttps://get.docker.com|sh或者手动安装CentOS# 安装依赖yuminstall-yyum-utils# 添加Docker源yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo# 安装Dockeryuminstalldocker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin-yUbuntu/Debian# 更新aptaptupdate# 安装依赖aptinstall-yca-certificatescurlgnupg lsb-release# 添加Docker GPG keyinstall-m0755-d/etc/apt/keyringscurl-fsSLhttps://download.docker.com/linux/ubuntu/gpg|gpg--dearmor-o/etc/apt/keyrings/docker.gpgchmodar /etc/apt/keyrings/docker.gpg# 添加Docker源echodeb [arch$(dpkg --print-architecture)signed-by/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu$(lsb_release-cs)stable|tee/etc/apt/sources.list.d/docker.list/dev/null# 安装Dockeraptupdateaptinstalldocker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin-y启动Dockersystemctl startdockersystemctlenabledocker验证安装docker--version# Docker version 24.0.xdocker-compose--version# Docker Compose version v2.24.x4. 开放端口重要服务器防火墙# CentOSfirewall-cmd--zonepublic --add-port8080/tcp--permanentfirewall-cmd--reload# Ubuntuufw allow8080/tcp云服务器安全组必须去控制台开腾讯云控制台 → 云服务器 → 安全组 → 添加入站规则 → TCP 8080阿里云控制台 → ECS → 安全组 → 规则 → 添加入方向 → TCP 80805. 配置Docker镜像加速mkdir-p/etc/dockertee/etc/docker/daemon.jsonEOF { registry-mirrors: [ https://docker.mirrors.ustc.edu.cn, https://hub-mirror.c.163.com ] } EOFsystemctl daemon-reload systemctl restartdocker6. 启动OpenClaw# 创建数据目录mkdir-p/opt/openclaw# 启动容器dockerrun-d\--nameopenclaw\-p8080:8080\-v/opt/openclaw:/root/.openclaw\--restartunless-stopped\openclaw/openclaw:latest7. 验证安装# 查看容器状态dockerps# 应该能看到 openclaw 正在运行# 查看日志dockerlogs openclaw# 应该看到类似 Gateway starting on http://0.0.0.0:8080# 测试本地访问curlhttp://localhost:8080# 测试公网访问用另一台电脑或手机curlhttp://你的服务器IP:8080如果本地能访问但公网不能就是安全组没开放的问题配置Nginx反向代理进阶直接用 IP:端口 访问不方便可以配置 Nginx 反向代理用域名直接访问。1. 安装Nginx# CentOSyuminstall-ynginx# Ubuntuaptinstall-ynginx2. 配置反向代理vim/etc/nginx/conf.d/openclaw.conf写入server { listen 80; server_name 你的域名或IP; location / { proxy_pass http://127.0.0.1:8080; 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; # 超时设置 proxy_connect_timeout 60s; proxy_send_timeout 60s; proxy_read_timeout 60s; } }3. 启动Nginxnginx-tnginx-sreload现在访问http://你的IP就能打开 OpenClaw 了4. 配置SSLHTTPS进阶# 安装certbotaptinstall-ycertbot python3-certbot-nginx# 获取SSL证书需要域名certbot--nginx-d你的域名按提示操作选择Redirect自动跳转HTTPS。常用命令# 查看容器状态dockerps# 查看日志dockerlogs-fopenclaw# 重启容器dockerrestart openclaw# 停止容器dockerstop openclaw# 启动容器dockerstart openclaw# 更新镜像dockerpull openclaw/openclaw:latestdockerrm-fopenclawdockerrun-d...同启动命令# 查看资源使用dockerstats数据备份数据在/opt/openclaw目录定期备份# 打包备份tar-czvfopenclaw-backup.tar.gz /opt/openclaw# 恢复到新服务器tar-xzvfopenclaw-backup.tar.gz-C/常见问题FAQQ1重启后OpenClaw没自动启动答检查 --restart 参数是否设置正确dockerinspect openclaw|grepRestartPolicy应该是 “always”Q2内存不够用答限制容器内存dockerupdate-m1g openclawQ3域名解析不生效答等待5-10分钟用ping 你的域名测试Q4nginx启动失败答检查配置nginx-t成本汇总项目费用腾讯云轻量 2C4G30/月域名可选30/年SSL证书免费0总计约30/月进阶配置1. 配置HTTPS访问# 安装certbotaptinstall-ycertbot python3-certbot-nginx# 获取SSL证书certbot--nginx-d你的域名2. 配置Docker镜像# docker-compose.ymlservices:openclaw:image:openclaw/openclaw:latestenvironment:-TZAsia/Shanghai3. 配置备份脚本# 每天凌晨3点自动备份03* * *tar-czvf/backup/openclaw-$(date\%Y\%m\%d).tar.gz /opt/openclaw写在最后Linux服务器部署比Windows复杂一些主要坑在安全组要开放端口防火墙要放行数据要挂载卷但配置好后真的爽24小时运行随时随地都能用。有问题评论区问看到了都会回。下期预告下一期讲讲怎么在VPS上低成本部署OpenClaw30块一个月还要能通过域名让外网访问。敬请期待往期文章Windows Docker安装OpenClaw参考资料OpenClaw官网https://openclaw.aiDocker官方文档https://docs.docker.com腾讯云轻量https://cloud.tencent.com/product/lighthouse
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2429776.html
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!