生产环境部署OpenClaw需五步:一、准备Ubuntu 20.04/CentOS 7.9+系统,安装Python 3.9.18及系统依赖,创建专用用户openclaw;二、配置Django后端,使用prod设置、禁用DEBUG、配置环境变量并执行迁移;三、构建前端并由Nginx托管静态资源,设置路由与压缩;四、Nginx反向代理并配置Certbot SSL证书、HSTS及HTTP重定向;五、以systemd守护Gunicorn进程,启用socket激活。
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 免费无限量使用 DeepSeek R1 模型☜☜☜

如果您需要在生产环境中部署OpenClaw,需确保系统稳定性、服务高可用性及配置安全性。以下是完成OpenClaw生产环境部署的具体步骤:
一、准备基础运行环境
OpenClaw依赖特定版本的Python运行时与系统级库,需预先安装并验证兼容性,避免后续服务启动失败。
1、确认操作系统为Ubuntu 20.04 LTS或CentOS 7.9及以上版本。
2、安装Python 3.9.18,执行命令:pyenv install 3.9.18 && pyenv global 3.9.18。
3、安装系统依赖包:libpq-dev(PostgreSQL客户端)、libjpeg-dev、zlib1g-dev、gcc。
4、创建专用系统用户openclaw,禁止其交互式登录:useradd -r -s /bin/false openclaw。
二、配置后端服务
后端采用Django框架,需分离开发配置与生产配置,禁用调试模式并启用HTTPS就绪参数。
1、将项目代码克隆至/opt/openclaw/backend目录,并切换至prod分支。
2、复制config/settings/prod.py为settings.py,修改DEBUG = False与ALLOWED_HOSTS为实际域名列表。
3、设置环境变量文件/etc/openclaw/backend.env,包含DATABASE_URL、SECRET_KEY、REDIS_URL三项必填值。
4、执行迁移命令:python manage.py migrate --settings=config.settings.prod。
三、部署前端静态资源
前端构建产物需由Nginx直接托管,不经过Django中间件,以降低后端负载并提升响应速度。
1、进入/opt/openclaw/frontend目录,运行npm ci && npm run build:prod。
2、将生成的dist/内容复制至/var/www/openclaw/,并确保属主为openclaw:www-data。
3、在Nginx站点配置中指定root /var/www/openclaw;,并添加try_files $uri $uri/ /index.html;支持前端路由。
4、启用Gzip压缩与ETag头,添加如下指令块:gzip_static on; etag on;。
四、配置反向代理与SSL
Nginx作为唯一对外入口,须终止TLS连接、转发请求至Gunicorn,并强制HTTP跳转HTTPS。
1、使用Certbot获取通配符证书:certbot certonly --dns-cloudflare --dns-cloudflare-credentials /root/cloudflare.ini -d *.example.com。
2、在Nginx主server块中监听443端口,配置ssl_certificate与ssl_certificate_key路径。
3、添加HSTS头:add_header Strict-Transport-Security "max-age=31536000; includeSubDomains" always;。
4、在80端口server块中返回301重定向:return 301 https://$host$request_uri;。
五、启动守护进程
Gunicorn需以非root用户运行并持久化管理,避免因终端断开或系统重启导致服务中断。
1、创建systemd服务单元文件/etc/systemd/system/openclaw-backend.service,指定User=openclaw、WorkingDirectory=/opt/openclaw/backend。
2、ExecStart字段调用Gunicorn命令:/home/openclaw/.pyenv/shims/gunicorn config.wsgi:application --bind unix:/run/openclaw.sock --workers 4 --user openclaw --group openclaw。
3、启用socket激活机制,创建/etc/systemd/system/openclaw-backend.socket,监听/run/openclaw.sock。
4、执行systemctl daemon-reload && systemctl enable openclaw-backend.service,随后启动服务:systemctl start openclaw-backend.service。










