跳到主要内容
极客日志极客日志面向AI+效率的开发者社区
首页博客我的书AI学习GitHub 精选镜像AI 生图工具UI配色美学关于
搜索内容 / 工具 / 仓库 / 镜像...⌘K搜索
注册
博客列表
Shell / BashAI算法

Jetson Orin NX 16G 配置 AI 服务自动启动:Ollama、llama-server 与 OpenClaw Gateway

在 Jetson Orin NX 16G 上通过 systemd 实现 Ollama、llama-server 及 OpenClaw Gateway 三组件开机自启的配置流程。内容包含环境变量设置、服务文件编写、依赖管理及健康检查方法,确保本地 AI 服务稳定运行并支持 SSH 隧道远程访问。

雪落无声发布于 2026/3/30更新于 2026/9/1081 浏览

Jetson Orin NX 16G 开机自动启动配置

本文介绍在 Jetson Orin NX 16G 设备上配置 Ollama、llama-server 和 OpenClaw Gateway 三个组件开机自动启动的方案。

  • Ollama:保留官方安装脚本创建的 ollama.service,通过 override.conf 添加环境变量。这是 Ollama 官方推荐的 Linux 定制方式。
  • llama-server:单独创建系统级 llama-server.service。llama.cpp 官方文档确认它是轻量 C/C++ HTTP 服务,支持 OpenAI 兼容 API,并支持 --alias、--host、--port 等参数。
  • OpenClaw:默认是 systemd user service,但在 always-on / multi-user servers 上可改为 system service。下面提供系统级写法以便无人值守运行。

前置准备

占位符替换

保存以下文件前,请先替换其中的占位符:

  • <JETSON_USER>:登录用户名,例如 ubuntu
  • <JETSON_HOME>:用户主目录,例如 /home/ubuntu
  • <LLAMA_MODEL>:模型路径,例如 /home/ubuntu/models/base/qwen2.5-3b-instruct-q4_k_m.gguf

配置文件检查

确保 openclaw.json 中 gateway 配置包含必要项,否则 Gateway 可能拒绝启动:

gateway: { mode: "local", bind: "loopback", port: 18789, auth: { token: "REPLACE_WITH_A_LONG_RANDOM_TOKEN" } }

1)Ollama:Override 文件

通过 systemctl edit ollama 或 /etc/systemd/system/ollama.service.d/override.conf 添加环境变量。OLLAMA_HOST、OLLAMA_MODELS、OLLAMA_KEEP_ALIVE 均为官方支持的环境变量。

# /etc/systemd/system/ollama.service.d/override.conf
[Service]
Environment="OLLAMA_HOST=127.0.0.1:11434"
Environment="OLLAMA_CONTEXT_LENGTH=4096"
Environment="OLLAMA_KEEP_ALIVE=10m"
Environment="OLLAMA_MODELS=/srv/ollama/models"

准备模型目录并授权:

sudo mkdir -p /srv/ollama/models
sudo chown -R ollama:ollama /srv/ollama/models

2)llama-server:系统级服务

按 Jetson 保守参数配置:监听 127.0.0.1:8080,上下文大小 4096,并行数 1,显存不足时回退到系统内存。

# /etc/systemd/system/llama-server.service
[Unit]
Description=llama.cpp server
After=network-online.target
Wants=network-online.target

[Service]
Type=simple
User=<JETSON_USER>
Group=<JETSON_USER>
WorkingDirectory=<JETSON_HOME>
Environment="PATH=/usr/local/bin:/usr/bin:/bin"
Environment="GGML_CUDA_ENABLE_UNIFIED_MEMORY=1"
ExecStart=<JETSON_HOME>/src/llama.cpp/build/bin/llama-server \
    -m <LLAMA_MODEL> \
    --alias qwen2.5-3b-instruct-gguf \
    --host 127.0.0.1 \
    --port 8080 \
    -c 4096 \
    -np 1 \
    -ctk q8_0 \
    -ctv q8_0
Restart=always
RestartSec=3
LimitNOFILE=65535

[Install]
WantedBy=multi-user.target

3)OpenClaw Gateway:系统级服务

配置为系统服务,依赖 Ollama 和 llama-server 启动后运行。

# /etc/systemd/system/openclaw-gateway.service
[Unit]
Description=OpenClaw Gateway
After=network-online.target ollama.service llama-server.service
Wants=network-online.target ollama.service llama-server.service

[Service]
Type=simple
User=<JETSON_USER>
Group=<JETSON_USER>
WorkingDirectory=<JETSON_HOME>
Environment="HOME=<JETSON_HOME>"
Environment="PATH=/usr/local/bin:/usr/bin:/bin"
EnvironmentFile=-/etc/default/openclaw-gateway
ExecStart=/usr/bin/env openclaw gateway --bind loopback --port 18789
Restart=always
RestartSec=3
LimitNOFILE=65535

[Install]
WantedBy=multi-user.target

如需将 Token 放入环境文件:

sudo tee /etc/default/openclaw-gateway >/dev/null <<'EOF'
OPENCLAW_GATEWAY_TOKEN=REPLACE_WITH_A_LONG_RANDOM_TOKEN
EOF
sudo chmod 600 /etc/default/openclaw-gateway

4)可选:绑定 Target

创建一个目标以统一管理所有服务。

# /etc/systemd/system/jetson-ai-stack.target
[Unit]
Description=Jetson Local AI Stack
Wants=ollama.service llama-server.service openclaw-gateway.service
After=ollama.service llama-server.service openclaw-gateway.service

[Install]
WantedBy=multi-user.target

5)一次性落盘命令

替换占位符后执行以下命令生成服务文件:

sudo mkdir -p /etc/systemd/system/ollama.service.d
sudo tee /etc/systemd/system/ollama.service.d/override.conf >/dev/null <<'EOF'
[Service]
Environment="OLLAMA_HOST=127.0.0.1:11434"
Environment="OLLAMA_CONTEXT_LENGTH=4096"
Environment="OLLAMA_KEEP_ALIVE=10m"
Environment="OLLAMA_MODELS=/srv/ollama/models"
EOF
sudo mkdir -p /srv/ollama/models
sudo chown -R ollama:ollama /srv/ollama/models
sudo tee /etc/systemd/system/llama-server.service >/dev/null <<'EOF'
[Unit]
Description=llama.cpp server
After=network-online.target
Wants=network-online.target

[Service]
Type=simple
User=<JETSON_USER>
Group=<JETSON_USER>
WorkingDirectory=<JETSON_HOME>
Environment="PATH=/usr/local/bin:/usr/bin:/bin"
Environment="GGML_CUDA_ENABLE_UNIFIED_MEMORY=1"
ExecStart=<JETSON_HOME>/src/llama.cpp/build/bin/llama-server \
    -m <LLAMA_MODEL> \
    --alias qwen2.5-3b-instruct-gguf \
    --host 127.0.0.1 \
    --port 8080 \
    -c 4096 \
    -np 1 \
    -ctk q8_0 \
    -ctv q8_0
Restart=always
RestartSec=3
LimitNOFILE=65535

[Install]
WantedBy=multi-user.target
EOF
sudo tee /etc/systemd/system/openclaw-gateway.service >/dev/null <<'EOF'
[Unit]
Description=OpenClaw Gateway
After=network-online.target ollama.service llama-server.service
Wants=network-online.target ollama.service llama-server.service

[Service]
Type=simple
User=<JETSON_USER>
Group=<JETSON_USER>
WorkingDirectory=<JETSON_HOME>
Environment="HOME=<JETSON_HOME>"
Environment="PATH=/usr/local/bin:/usr/bin:/bin"
EnvironmentFile=-/etc/default/openclaw-gateway
ExecStart=/usr/bin/env openclaw gateway --bind loopback --port 18789
Restart=always
RestartSec=3
LimitNOFILE=65535

[Install]
WantedBy=multi-user.target
EOF
sudo tee /etc/systemd/system/jetson-ai-stack.target >/dev/null <<'EOF'
[Unit]
Description=Jetson Local AI Stack
Wants=ollama.service llama-server.service openclaw-gateway.service
After=ollama.service llama-server.service openclaw-gateway.service

[Install]
WantedBy=multi-user.target
EOF

6)重载并启用

sudo systemctl daemon-reload
sudo systemctl enable --now ollama
sudo systemctl enable --now llama-server
sudo systemctl enable --now openclaw-gateway
# 可选:以后用这个 target 一起管
sudo systemctl enable jetson-ai-stack.target

7)健康检查

查看 systemd 状态及 API 响应:

# systemd 状态
sudo systemctl status ollama --no-pager
sudo systemctl status llama-server --no-pager
sudo systemctl status openclaw-gateway --no-pager

# Ollama
curl http://127.0.0.1:11434/api/tags

# llama.cpp
curl http://127.0.0.1:8080/v1/models

# OpenClaw
openclaw status
openclaw gateway status --require-rpc
openclaw doctor
openclaw channels status --probe

查看日志:

journalctl -u ollama -e --no-pager
journalctl -u llama-server -e --no-pager
journalctl -u openclaw-gateway -e --no-pager

8)远程访问 Dashboard

通过 SSH 隧道连接本地 Loopback 绑定的 Gateway:

ssh -N -L 18789:127.0.0.1:18789 <JETSON_USER>@<JETSON_IP>

然后在笔记本浏览器打开:

http://127.0.0.1:18789/

目录

  1. Jetson Orin NX 16G 开机自动启动配置
  2. 前置准备
  3. 占位符替换
  4. 配置文件检查
  5. 1)Ollama:Override 文件
  6. /etc/systemd/system/ollama.service.d/override.conf
  7. 2)llama-server:系统级服务
  8. /etc/systemd/system/llama-server.service
  9. 3)OpenClaw Gateway:系统级服务
  10. /etc/systemd/system/openclaw-gateway.service
  11. 4)可选:绑定 Target
  12. /etc/systemd/system/jetson-ai-stack.target
  13. 5)一次性落盘命令
  14. 6)重载并启用
  15. 可选:以后用这个 target 一起管
  16. 7)健康检查
  17. systemd 状态
  18. Ollama
  19. llama.cpp
  20. OpenClaw
  21. 8)远程访问 Dashboard

更多推荐文章

查看全部
  • 多模态大模型(MM-LLM)架构与训练综述
  • mT5 中文-base 模型 WebUI 响应超时与 GPU OOM 优化指南
  • C++ 智能指针完全指南:从原理到实战
  • 前端视角的 API 设计最佳实践
  • MATLAB 实现基于强制导向函数法(PFA)的无人机三维路径规划
  • 基于腾讯云服务器部署 Openclaw 并接入飞书与 NVIDIA 模型
  • 基于 FPGA 的微波炉控制器设计
  • Neo4j Desktop 2.0 安装教程:自定义安装路径
  • JavaScript 数据类型详解:分类、判断方式与核心差异
  • FAIR plus 机器人全产业链接会,链动全球智能新机遇
  • 基孔肯雅热流行风险地区 WebGIS 分类与可视化实战
  • FPGA 设计实例:基于 EGo1 开发板的蓝牙通信实验
  • Joplin 开源笔记应用核心功能解析与跨平台同步指南
  • OpenClaw、MaxClaw、KimiClaw 与 Molili 四大 AI Agent 横向评测
  • 医疗 AI 可信系统全栈实现:向量索引与贝叶斯网络(下)
  • Windows 平台 C/C++ 毫秒级定时器实现详解
  • Android 系统锁屏监听与悬浮窗实现指南
  • 网络安全重点就业岗位汇总与职业发展指南
  • OpenClaw + Kimi K2.5 开源 AI 助手本地部署与办公自动化实战
  • Redis 核心概念与常用数据结构解析

相关免费在线工具

  • 加密/解密文本

    使用加密算法(如AES、TripleDES、Rabbit或RC4)加密和解密文本明文。 在线工具,加密/解密文本在线工具,online

  • RSA密钥对生成器

    生成新的随机RSA私钥和公钥pem证书。 在线工具,RSA密钥对生成器在线工具,online

  • Mermaid 预览与可视化编辑

    基于 Mermaid.js 实时预览流程图、时序图等图表,支持源码编辑与即时渲染。 在线工具,Mermaid 预览与可视化编辑在线工具,online

  • 随机西班牙地址生成器

    随机生成西班牙地址(支持马德里、加泰罗尼亚、安达卢西亚、瓦伦西亚筛选),支持数量快捷选择、显示全部与下载。 在线工具,随机西班牙地址生成器在线工具,online

  • Gemini 图片去水印

    基于开源反向 Alpha 混合算法去除 Gemini/Nano Banana 图片水印,支持批量处理与下载。 在线工具,Gemini 图片去水印在线工具,online

  • Base64 字符串编码/解码

    将字符串编码和解码为其 Base64 格式表示形式即可。 在线工具,Base64 字符串编码/解码在线工具,online