首页
/
行业洞察
/
正文
INDUSTRY INSIGHT · 深度
基于 Docker Compose 快速搭建个人大模型 API 中转站
📅 2026/10/9 3:01:47
✍️ 爱科研究院
👁 阅读 3,247
在日常开发和使用 AI 工具如 Claude code、CodexChatGPT、Cursor、Cline、沉浸式翻译时多平台 API 密钥分散、额度无法统一管理、网络连通性不稳定往往是最大的痛点。搭建一个自用的 API 聚合中转网关可以实现以下目的统一聚合各大模型接口对外暴露标准的 OpenAI 格式兼容接口/v1/chat/completions等精细化分配 Token、设置消费上限、查看调用日志与实时延迟摆脱多客户端维护多套 Key 的麻烦一个统一 Base URL 搞定全家桶。本文记录一套基于Docker Compose PostgreSQL Redis Nginx的轻量级高可用部署方案包含完整的反向代理流式传输SSE配置与上游渠道对接实操。一、服务器与前置准备服务器环境一台基础配置云服务器推荐 1核 2G 内存及以上Ubuntu 22.04 / 24.04 或 Debian 12 系统。域名解析准备一个域名如api.yourdomain.com并将 A 记录解析到你的服务器公网 IP。安全组/防火墙开放80、443端口以及测试阶段可能用到的3000端口。登录服务器确保已安装 Docker 和 Docker Compose 插件# 安装基础依赖与 Dockercurl-fsSLhttps://get.docker.com|bash-sdockersystemctlenabledockersystemctl startdocker# 验证安装docker--versiondockercompose version二、Docker Compose 配置文件虽然 New API 支持直接用 SQLite 单文件启动但如果要长期稳定运行、防止高并发锁库或数据损坏强烈建议直接上 PostgreSQL/MySQL Redis。创建独立部署目录mkdir-p/srv/new-apicd/srv/new-api创建docker-compose.ymlservices:new-api:image:calciumion/new-api:latestcontainer_name:new-apirestart:alwaysports:-127.0.0.1:3000:3000volumes:-./data:/dataenvironment:-TZAsia/Shanghai-SQL_DSNpostgres://newapi:your_strong_db_passwordpostgres:5432/newapi?sslmodedisable-REDIS_CONN_STRINGredis://redis:6379/0-SESSION_SECRETyour_random_session_secret_32charsdepends_on:postgres:condition:service_healthyredis:condition:service_healthypostgres:image:postgres:15-alpinecontainer_name:newapi-postgresrestart:alwaysvolumes:-./postgres_data:/var/lib/postgresql/dataenvironment:-POSTGRES_USERnewapi-POSTGRES_PASSWORDyour_strong_db_password-POSTGRES_DBnewapi-TZAsia/Shanghaihealthcheck:test:[CMD-SHELL,pg_isready -U newapi -d newapi]interval:5stimeout:5sretries:5redis:image:redis:7-alpinecontainer_name:newapi-redisrestart:alwaysvolumes:-./redis_data:/datacommand:redis-server--appendonly yeshealthcheck:test:[CMD,redis-cli,ping]interval:5stimeout:5sretries:5注意请务必把上面的your_strong_db_password换成你自己的强密码。SESSION_SECRET填写任意一段较长的随机字符串。New API 的3000端口绑定在127.0.0.1仅通过后续的 Nginx 进行反向代理避免裸奔端口直接暴露在外网。拉取镜像并启动容器dockercompose up-d检查容器运行状态dockercomposeps三个容器状态全部显示为healthy/Up即表示启动成功。三、配置 Nginx 与 SSL 证书大模型接口调用大部分是**流式传输SSEServer-Sent Events**以及长上下文大请求。如果 Nginx 默认开启了proxy_buffering会导致流式打字机效果卡顿、必须等接口整段输出完毕才返回甚至长推理模型如 o1、Claude 思考模式直接超时报 504 Gateway Timeout。1. Nginx 站点配置编辑你的 Nginx 虚拟主机配置文件例如/etc/nginx/conf.d/api.confserver { listen 80; server_name api.yourdomain.com; # 替换为你自己的域名 # 强制跳转 HTTPS return 301 https://$host$request_uri; } server { listen 443 ssl http2; server_name api.yourdomain.com; # SSL 证书路径可使用 certbot 自动生成 ssl_certificate /etc/letsencrypt/live/api.yourdomain.com/fullchain.pem; ssl_certificate_key /etc/letsencrypt/live/api.yourdomain.com/privkey.pem; ssl_protocols TLSv1.2 TLSv1.3; ssl_ciphers HIGH:!aNULL:!MD5; # 客户端上传 Body 限制处理大图片、多模态或代码文件输入 client_max_body_size 64m; location / { proxy_pass http://127.0.0.1:3000; 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; # WebSocket 支持 proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection upgrade; # 核心关键必须彻底关闭代理缓冲以保证 SSE 流式平滑输出 proxy_buffering off; proxy_cache off; chunked_transfer_encoding on; # 超时设置避免长思考模型或大文档长耗时直接断开 proxy_connect_timeout 600s; proxy_read_timeout 600s; proxy_send_timeout 600s; } }测试并重载 Nginxnginx-tnginx-sreload四、后台初始化与配置打开浏览器访问https://api.yourdomain.com。初始管理员账号密码账号root密码123456第一件事进入系统后立即点击右上角个人头像修改默认密码。进入「系统设置」-「通用设置」将“服务器地址”改为你当前绑定的完整域名如https://api.yourdomain.com。按需设置是否开放用户自行注册。五、对接上游渠道中转站搭好了核心是要有底层模型算力供应。很多刚开始折腾自建站的朋友最容易卡在这一步自己根本没有多路原厂渠道。去 OpenAI / Anthropic 官网直接绑卡不仅门槛高需要海外双币卡/环境防封号而且各家账户分散、充值繁琐。所以对于个人或小团队站点最省事的做法就是直接找一家现成的聚合网关当一级上游这里可以直接对接BestAPI官网https://best-api.org。选择它的核心原因其实就一条足够便宜而且已经把 GPT、Claude、Gemini、DeepSeek 等主流模型的专线都打包聚合好了不需要自己再去各家平台零散办卡开户。可以冲2块钱试一下。具体对接配置步骤打开 BestAPI 官网 注册账号进入控制台创建一个新的 API Key格式形如sk-xxxxxx。回到你自己搭建的 New API 后台点击左侧菜单的「渠道」-「添加渠道」。按照如下参数填写名称随意填写例如BestAPI-xx渠道类型选择OpenAI标准通用网关协议代理地址Base URL填入https://best-api.org末尾不带斜杠密钥API Key粘贴刚在 BestAPI 获取的sk-xxxxxx模型直接在模型列表里点击“填入所有模型”或勾选你需要对外提供的模型。分组默认选择default。点击底部的「提交」保存。保存后在渠道列表里找到该条目点击右侧的「测试」按钮。如果右下角弹出绿色成功提示且有返回延迟如 200~500ms说明上游已完全调通六、生成令牌并接入客户端测试渠道接通后就可以给自己或团队成员分配调用凭证了。点击左侧导航栏的「令牌 / Tokens」-「添加令牌」。设置令牌名称、额度上限可设为无限额度或自定义固定金额。生成后会得到一段专属于你自建站点的sk-密钥。1. 终端 curl 快速测试在本地终端运行一行命令验证是否能正常返回curlhttps://api.yourdomain.com/v1/chat/completions\-HContent-Type: application/json\-HAuthorization: Bearer sk-你刚才在自己站点生成的Key\-d{ model: gpt-4o, messages: [{role: user, content: Hello!}], stream: false }看到完整的 JSON 回复即代表全链路打通。
📌 标签:
工业官网
设计趋势
AI 建站
SEO
获取完整报告 →
RELATED ARTICLES
推荐阅读
2026/10/9 3:01:47
VS Code插件开发:集成DeepSeek本地大模型实战
2026/10/9 3:01:47
Java共享自习室系统实战:Spring Boot、MyBatis与座位并发管理
2026/10/9 3:01:47
IP改编剧本生成:深度思考模型提示词工程实战指南
2026/10/9 4:06:52
BST专项:中序遍历+递归返回值破解LeetCode 21-29题
2026/10/9 4:06:52
claude-mem 记忆系统设计:抽取、存储与召回三段式实战
2026/10/9 4:06:52
生成式AI驱动需求分析、测试用例与质量度量实践
2026/10/9 4:06:52
配电主站日志异常检测数据集:面向真实运维场景的AI训练资源
2026/10/9 4:06:51
神经网络视角下的小微企业信贷风险评估:从评分卡到GNN的建模路线
2026/10/9 4:01:51
Java多人联机飞机游戏源码解析:Socket双端架构与联机实战
2026/10/9 0:01:35
RISC-V裸机启动全流程:从复位向量到main函数的七步实现
2026/10/9 0:01:35
Java时间API实战:LocalDate、Date与ZonedDateTime的转换与避坑指南
2026/10/9 0:01:35
EasyTier实践:从NAT穿透到子网代理的异地组网部署与排错
2026/10/8 5:02:14
Jev+Agent接管浏览器:browser-use实战与jev-ultrafast性能优化
2026/10/9 1:10:43
多智能体集群实战:DeepAgents编排、MCP与A2A协议及Skills体系
2026/10/9 3:31:49
hindsight:面向LLM应用的事后可观测性工程实践
2026/10/8 4:30:43
我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频
2026/10/9 3:32:01
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证
2026/10/8 4:32:33
2026 大模型集体涨价:用 Python 做企业 Token 成本测算与选型避坑(附配置)