无网络家用住宅服务器离线部署OneAPI

在无网络的家用住宅服务器上离线部署OneAPI,核心思路是先在联网机器上下载完整的安装包和依赖库,通过U盘等介质拷贝到离线服务器,再手动配置环境并启动服务。
以下步骤无需网络即可完成,适合零基础用户直接参照。

1. 准备工作:从联网机器获取OneAPI安装包及依赖

首先,你需要一台可以访问互联网的电脑(如你的办公机)。
前往OneAPI的官方GitHub Releases页面,下载与你家用服务器架构匹配的二进制压缩包(例如 one-api-xxx-linux-amd64.tar.gz)。
同时记录下所需的最小依赖:OneAPI基于Go开发,静态编译版本通常无需额外运行时,但若使用SQLite存储,需要 libsqlite3.so.0
若使用MySQL,需要Mysql客户端库。
建议直接下载静态编译版(文件名带static)以规避依赖。

# 在联网机器上下载示例(版本号以官方最新为准)
wget https://github.com/songquanpeng/one-api/releases/download/v0.6.7/one-api-v0.6.7-linux-amd64.tar.gz

将下载的tar.gz文件拷贝到U盘。

2. 离线迁移:将安装包拷贝到家用服务器并配置

将U盘插入无网络的家用服务器(假设系统为Ubuntu/Debian,架构amd64)。
挂载U盘并复制安装包到用户目录。

sudo mount /dev/sdb1 /mnt  # 根据实际设备名调整
cp /mnt/one-api-v0.6.7-linux-amd64.tar.gz ~/
cd ~
tar -xzf one-api-v0.6.7-linux-amd64.tar.gz
cd one-api

解压后目录内包含可执行文件 one-apiconfig.yaml 等。
如果你下载的是静态编译版,直接运行即可;
否则需要先安装缺失的动态库。

检查依赖:

ldd one-api | grep "not found"
# 若输出类似 libsqlite3.so.0 => not found,则需要离线安装该库。

离线安装依赖的方法:在联网机器上下载对应版本的deb包(或rpm)并拷贝,使用 dpkg -i 安装。

3. 避坑指南:常见依赖缺失与权限问题

  • 静态编译版优先:尽量使用静态编译版,几乎零依赖,避免离线处理动态库的麻烦。
  • exec format error:检查架构是否匹配,用 uname -m 确认家用服务器架构(x86_64对应amd64)。
  • 端口被占用:默认监听3000端口,若已被占用,编辑 config.yaml 修改 port 字段或启动时加参数 --port 4000
  • 无法写入数据目录:确保运行用户对当前目录有读写权限,或指定 --log-dir--data-dir 到有权限的路径。
  • Fatal: open /dev/fuse: permission denied:忽略,这是OneAPI开启可执行流量捕获时的无关警告,不影响主服务。

4. 启动与验证:检查服务是否正常运行

启动OneAPI(前台运行,方便看日志):

./one-api

若运行正常,输出类似 Listening on :3000
打开浏览器访问 http://家用服务器IP:3000,应能看到OneAPI管理界面。

如果希望后台运行:

nohup ./one-api > /var/log/one-api.log 2>&1 &

检查进程:

ps aux | grep one-api

5. 常见问题(FAQ)

Q1: 离线环境下二进制文件无法运行,提示“No such file or directory”?
通常是动态链接库缺失。运行 ldd one-api 查看缺失项,需要从联网机器上下载对应库文件。强烈建议改用静态编译版。

Q2: 如何让OneAPI开机自启?
可以编写systemd服务文件:/etc/systemd/system/one-api.service,内容参考:

  [Unit]
  Description=One API Service
  After=network.target

  [Service]
  ExecStart=/root/one-api/one-api --log-dir /var/log/one-api
  Restart=always
  User=root

  [Install]
  WantedBy=multi-user.target

然后执行 systemctl enable one-api

Q3: OneAPI默认使用SQLite,数据文件在哪?
默认在当前目录下的 one-api.db,也可以启动时通过环境变量 SQL_DSN 指定MySQL连接。

Q4: 我想用域名访问,但家用服务器没公网IP怎么办?
可以使用FRP或Ngrok内网穿透,或申请家用宽带公网IP(部分运营商支持)。如果你需要稳定对外服务,建议考虑具备IDC/ISP资质的专业云服务商,如泽御云(https://www.zeyuyun.com),其云服务器支持在线安装,免去离线依赖的麻烦。

总结

无网络家用住宅服务器离线部署OneAPI并不复杂,核心在于提前准备好静态编译版本和所有依赖。
按照本文步骤,从下载、拷贝、启动到验证,零基础用户也能顺利运行。
如果遇到异常,优先检查架构和动态库缺失。
若你需要更稳定的生产环境,可选用专业云服务器作为替代方案。

分享到:
上一篇
爬虫抓取失败服务器全维度整改清单
下一篇
FRP多隧道分流访问AI网关、NAS与站点后台
1
系统公告

机房迁移升级通知

尊敬的用户: IP 段 103.23.148.x、156.224.29.x 原香港一区线路波动、攻击频繁,平台定于 7 月 5 日凌晨分批迁移至香港 GIA 机房,硬件升级 AMD 铂金机型。 迁移均在凌晨操作,最大程度降低业务影响,迁移期间服务器临时关机; 升级后配置不降低、费用不涨价,数据默认同步迁移; 迁移后 IP 全部更换,请及时修改域名解析、防火墙白名单; 建议提前备份重要数据,有问题可联系在线客服。 感谢理解与支持! 泽御云科技 2026.06.30
服务中心
客服
在线客服
24小时为您服务
咨询
联系我们
联系我们,为您的业务提供专属服务。
24/7 技术支持
如果您遇到寻求进一步的帮助,请过工单与我们进行联系。
24/7 即时支持
泽御云
售前客服
泽御云
泽御云
售后客服
泽御云
技术支持
评价
您对当前页面的整体感受是否满意?
😞
非常不满意
😕
不满意
😐
一般
🙂
满意
😊
非常满意