LFZ 的技术笔记

标签: Linux

和Linux相关的内容。

  • 低配 VPS 部署 OpenClaw 完整指南

    低配 VPS 部署 OpenClaw 完整指南

    OpenClaw 是一个轻量的 AI Agent 网关工具。在低配 VPS(1核1G甚至更低)上部署时,需要一些特别的步骤来避免 systemd 服务错误。本文记录完整流程。

    一、安装基本依赖

    1. 安装 curl

    sudo apt-get install -y curl

    2. 添加 NodeSource 官方源(Node 22)

    curl -fsSL https://deb.nodesource.com/setup_22.x | sudo bash -

    3. 安装 Node.js

    sudo apt-get install -y nodejs

    4. 确认版本

    node -v
    npm -v

    二、安装 OpenClaw

    npm install -g openclaw@latest
    openclaw --version

    三、配置与 systemd 服务

    直接运行 openclaw onboard 开始配置。但 root 用户下会报服务错误,需要手动创建 systemd 服务文件。

    第一步:创建 systemd 服务文件

    cat > /etc/systemd/system/openclaw-gateway.service << 'EOF'
    [Unit]
    Description=OpenClaw Gateway
    After=network-online.target
    Wants=network-online.target
    
    [Service]
    Type=simple
    User=root
    WorkingDirectory=/root/.openclaw
    ExecStart=/usr/bin/openclaw gateway
    Restart=always
    RestartSec=3
    Environment=NODE_OPTIONS=--max-old-space-size=512
    Environment=OPENCLAW_NO_RESPAWN=1
    Environment=NODE_COMPILE_CACHE=/var/tmp/openclaw-compile-cache
    Environment=HOME=/root
    
    [Install]
    WantedBy=multi-user.target
    EOF

    第二步:设置运行时目录(如仍报错)

    如果仍然报运行时目录错误,执行:

    export XDG_RUNTIME_DIR=/run/user/$(id -u)
    loginctl enable-linger root
    echo 'export XDG_RUNTIME_DIR=/run/user/$(id -u)' >> ~/.bashrc

    第三步:启动服务

    systemctl --user daemon-reload
    systemctl --user enable openclaw-gateway.service
    systemctl --user start openclaw-gateway.service

    第四步:确认状态

    openclaw status

    四、网关诊断与 Cerebras 配置参考

    网关诊断

    openclaw gateway probe
    openclaw gateway restart   # 重启服务

    Cerebras API 配置示例

    在 OpenClaw 配置中添加 Cerebras 作为 provider:

    {
      "models": {
        "providers": {
          "cerebras": {
            "baseUrl": "https://api.cerebras.ai/v1",
            "apiKey": "你的Cerebras API Key",
            "api": "openai-completions",
            "models": [
              {
                "id": "gpt-oss-120b",
                "name": "gpt-oss-120b",
                "contextWindow": 128000,
                "maxTokens": 32000
              }
            ]
          }
        }
      }
    }

    五、卸载

    需要完全卸载时的操作步骤:

    1. 停止并禁用服务

    systemctl stop openclaw-gateway.service
    systemctl disable openclaw-gateway.service

    2. 删除服务文件

    rm /etc/systemd/system/openclaw-gateway.service
    systemctl daemon-reload

    3. 卸载 openclaw

    npm uninstall -g openclaw

    4. 删除数据目录

    rm -rf /root/.openclaw

    5. 确认进程已终止

    ps aux | grep openclaw
  • Ubuntu 上如何配置防火墙?—— UFW 快速入门

    Ubuntu 上如何配置防火墙?—— UFW 快速入门

    Ubuntu 上,默认情况下是没有启用防火墙的。服务器安装完系统后,配置防火墙应该是第一件要做的事。本文用最简洁的方式带你配好 UFW。

    🔥 Ubuntu 自带的防火墙工具

    Ubuntu 默认自带的、也是推荐使用的防火墙管理工具是 UFWUncomplicated FireWall,简单防火墙)。

    • UFWiptables 的用户友好前端,日常管理比直接写 iptables 规则方便得多。
    • 语法简单、学习成本低、适合服务器日常运维。

    ⚙️ 防火墙设置与管理

    1. 启用防火墙

    配置规则之前,建议先启用 UFW。⚠️ 但有一个前提:请先确保你已经放行了 SSH(端口 22),否则启用后自己会被锁在服务器外面。

    先放行 SSH:

    sudo ufw allow ssh

    然后启用防火墙:

    sudo ufw enable
    sudo ufw status          # 查看状态
    sudo ufw status verbose  # 查看详细状态 + 默认策略

    2. 设置默认策略

    默认策略决定了没有匹配规则的连接如何处理:

    sudo ufw default deny incoming    # 拒绝所有传入(最安全)
    sudo ufw default allow outgoing   # 允许所有传出(默认)

    🔓 开放端口与服务

    A. 按端口号开放

    # 开放 TCP 端口(最常用)
    sudo ufw allow 80/tcp    # HTTP
    sudo ufw allow 443/tcp   # HTTPS
    
    # 开放 UDP 端口
    sudo ufw allow 53/udp    # DNS
    
    # TCP + UDP 同时开放
    sudo ufw allow 123       # NTP

    B. 按服务名称开放

    UFW 内置了常用服务名(映射到 /etc/services):

    sudo ufw allow ssh       # TCP 22
    sudo ufw allow http      # TCP 80
    sudo ufw allow https     # TCP 443

    C. 按应用程序配置文件开放

    某些程序安装时会自带 UFW 配置文件:

    # 查看可用的应用程序配置
    sudo ufw app list
    
    # 开放特定应用
    sudo ufw allow 'Nginx Full'

    🗑️ 删除与重置

    删除规则

    # 删除一条规则
    sudo ufw delete allow 80/tcp

    重置防火墙(谨慎!)

    ⚠️ 此操作会删除所有规则并禁用防火墙

    sudo ufw reset

    💡 快速参考卡片

    操作命令
    启用防火墙sudo ufw enable
    查看状态sudo ufw status verbose
    开放端口sudo ufw allow 80/tcp
    开放服务sudo ufw allow ssh
    删除规则sudo ufw delete allow 80/tcp
    重置sudo ufw reset

    做到这四步——放行 SSH、启用、配默认策略、开放必要端口——你的 Ubuntu 服务器防火墙就算配好了。