## 前言 这种部署方式,可以无需再打开本地CMD,输入命令,建立隧道链接,而是可以像访问网站一样,随时随地可以访问你的龙虾。
⚠️ 高能预警:这种部署方式虽然简单,但有风险。如果是公司机密数据或个人重要隐私,强烈不建议使用此方法!仅限个人测试或公开数据使用。
## 第一步:召唤神兽 Nginx
### 1.1 连接服务器
拿出你的终端,像个黑客一样(虽然我们现在可能只是个脚本小子),通过 SSH 连接你的云服务器。别告诉我你连 IP 地址都输错了,那今天的部署就到此为止吧。
### 1.2 安装 Nginx
我们要先给服务器洗个澡(更新系统),然后再把 Nginx 请进门。
**CentOS 系统(老派硬汉的选择):**
sudo yum update -y
sudo yum install nginx -y
**Ubuntu 系统(时髦值拉满的选择):**
sudo apt update
sudo apt install nginx -y
### 1.3 启动 Nginx
别让它只安装不运行,得把它“叫醒”:
sudo systemctl start nginx
sudo systemctl enable nginx # 设置开机自启,别关机就忘事
### 1.4 验证安装
看看它是不是真的听话在跑:
sudo systemctl status nginx
如果看到绿色的 `active (running)`,恭喜你,第一步没翻车!
## 第二步:召唤真正的主角 OpenClaw
### 2.1 执行一键安装脚本
来吧,深呼吸,复制粘贴这行魔法咒语。这一步就像网购下单,点了就不能反悔(其实也能,但很麻烦):
curl -fsSL https://openclaw.ai/install.sh | bash
### 2.2 配置反向代理
安装过程中,如果程序问你要不要配置 Nginx 反向代理,请大声喊出 **"yes"** !别犹豫,犹豫就会败北。
### 2.3 验证 OpenClaw 服务
别以为跑起来了就万事大吉,得去检查一下“猪是否在圈里”:
# 查看 OpenClaw 进程是不是在苟着
ps aux | grep openclaw
# 检查 18789 端口有没有在听歌(t
ips:为了更安全可以把默认18789端口也换掉。)
netstat -tuln | grep 18789
## 第三步:给网站穿上“防弹衣” (HTTPS)
### 3.1 安装 Certbot
没有 HTTPS 的网站,就像没穿裤子在街上跑,虽然能跑,但很不雅且危险。
**CentOS:**
sudo yum install certbot python3-certbot-nginx -y
**Ubuntu:**
sudo apt install certbot python3-certbot-nginx -y
### 3.2 申请 SSL 证书
运行下面的命令,跟着 Certbot 的傻瓜式提问一路回车(或者填你的邮箱),免费的加密证书就到手了:
sudo certbot --nginx
### 3.3 手动配置 Nginx(备用方案)
如果你是个喜欢折腾的“受虐狂”,或者自动配置失败了,可以手动编辑配置文件:
sudo vi /etc/nginx/conf.d/openclaw.conf
**把下面这段“天书”抄进去(记得改域名):**
# HTTP强制跳转HTTPS,不跳就是“流氓”
server {
listen 80;
server_name _;
return 301 https://$host$request_uri;
}
# HTTPS配置(正宫出场)
server {
listen 443 ssl http2;
server_name _; # 这里填你的域名或者ip
ssl_certificate /etc/letsencrypt/live/你的域名/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/你的域名/privkey.pem;
ssl_protocols TLSv1.2 TLSv1.3;
ssl_ciphers HIGH:!aNULL:!MD5;
location / {
proxy_pass http://127.0.0.1:18789;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
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;
}
}
### 3.4 测试并重载配置
改完配置不测试就重启,那是“鲁莽”的代名词:
sudo nginx -t # 先试试语法对不对
sudo nginx -s reload # 没报错再重载
## 第四步:打开大门(防火墙)
### 4.1 开放端口
别把客人锁在门外,得把防火墙的口子打开:
**CentOS:**
sudo firewall-cmd --permanent --add-service=http
sudo firewall-cmd --permanent --add-service=https
sudo firewall-cmd --reload
**Ubuntu:**
sudo ufw allow 'Nginx Full'
### 4.2 云服务器安全组
这一步最容易忘!去你的云服务商控制台,把 80 和 443 端口打开。不然你前面做的都是无用功,相当于你在家里开了派对,却把大门焊死了。
## 第五步:翻车现场急救
### 5.1 常见问题处理
**报错:unknown directive**
这通常是因为你复制了不该有的特殊字符,或者 Nginx 模块没装好。
# 检查配置文件哪里写错了
sudo nginx -t
# 哪里报错改哪里,建议手打不要复制
**访问不通:**
冷静,打开浏览器开发者工具,或者检查服务状态:
sudo systemctl status nginx # 看看 Nginx 歌唱家还在不在调上
sudo systemctl status openclaw # 看看 OpenClaw 还活着没
tail -f /var/log/nginx/error.log # 看看日志里在骂啥
## 总结
恭喜你!如果你没在半路“阵亡”,现在打开浏览器访问你的域名,应该能看到那个帅气的登录界面了。
**最后的碎碎念:**
虽然现在跑通了,但**安全无小事**。记得常备份,常更新。别等到数据被“黑客观光团”光顾了才来哭鼻子!
夜雨聆风