Jetson Orin NX 16G 开机自动启动配置
本文介绍在 Jetson Orin NX 16G 设备上配置 Ollama、llama-server 和 OpenClaw Gateway 三个组件开机自动启动的方案。
- Ollama:保留官方安装脚本创建的
ollama.service,通过override.conf添加环境变量。这是 Ollama 官方推荐的 Linux 定制方式。
本文详解在 Jetson Orin NX 16G 上通过 systemd 实现 Ollama、llama-server 及 OpenClaw Gateway 三组件开机自启的配置流程。内容包含环境变量设置、服务文件编写、依赖管理及健康检查方法,确保本地 AI 服务稳定运行并支持 SSH 隧道远程访问。
本文介绍在 Jetson Orin NX 16G 设备上配置 Ollama、llama-server 和 OpenClaw Gateway 三个组件开机自动启动的方案。
ollama.service,通过 override.conf 添加环境变量。这是 Ollama 官方推荐的 Linux 定制方式。llama-server.service。llama.cpp 官方文档确认它是轻量 C/C++ HTTP 服务,支持 OpenAI 兼容 API,并支持 --alias、--host、--port 等参数。保存以下文件前,请先替换其中的占位符:
<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" } }
通过 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
按 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
配置为系统服务,依赖 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
创建一个目标以统一管理所有服务。
# /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
替换占位符后执行以下命令生成服务文件:
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
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
查看 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
通过 SSH 隧道连接本地 Loopback 绑定的 Gateway:
ssh -N -L 18789:127.0.0.1:18789 <JETSON_USER>@<JETSON_IP>
然后在笔记本浏览器打开:
http://127.0.0.1:18789/

微信公众号「极客日志」,在微信中扫描左侧二维码关注。展示文案:极客日志 zeeklog
生成新的随机RSA私钥和公钥pem证书。 在线工具,RSA密钥对生成器在线工具,online
基于 Mermaid.js 实时预览流程图、时序图等图表,支持源码编辑与即时渲染。 在线工具,Mermaid 预览与可视化编辑在线工具,online
将字符串编码和解码为其 Base64 格式表示形式即可。 在线工具,Base64 字符串编码/解码在线工具,online
将字符串、文件或图像转换为其 Base64 表示形式。 在线工具,Base64 文件转换器在线工具,online
将 Markdown(GFM)转为 HTML 片段,浏览器内 marked 解析;与 HTML 转 Markdown 互为补充。 在线工具,Markdown 转 HTML在线工具,online
将 HTML 片段转为 GitHub Flavored Markdown,支持标题、列表、链接、代码块与表格等;浏览器内处理,可链接预填。 在线工具,HTML 转 Markdown在线工具,online