返回文档首页

AI中转站搭建教程newapi

服务器 从零开始完整部署教程 适用于 Ubuntu 20.04 / 22.04 / 24.04 系统 获取 源码 链接🔗: https://pan.xunlei.com/s/VOrxmQy1xF84wmi2hsg5z80...

更新于 2026-08-08

 服务器 从零开始完整部署教程

适用于 Ubuntu 20.04 / 22.04 / 24.04 系统
获取源码链接🔗:https://pan.xunlei.com/s/VOrxmQy1xF84wmi2hsg5z80_A1?pwd=ia2x#
官方链接(推荐):https://github.com/QuantumNous/new-api.git
部署服务器:自行购买/找博主购买,优惠
博主微信:JHFFF897

📋 前置准备

  1. 一台VPS服务器(配置建议:2核4G以上,硬盘20G以上)
  2. 服务器SSH连接信息(IP、端口、账号、密码)
  3. (可选)需要绑定的域名,提前解析到服务器IP
服务器推荐:


🔧 步骤1:系统更新与基础依赖安装

1.1 登录连接到服务器(finalshell登录也可)

ssh root@您的服务器IP
# 如果是普通用户,切换到root:
sudo -i

1.2 更新系统软件包

apt update && apt upgrade -y

1.3 安装基础依赖

apt install -y git curl wget vim build-essential ufw



🐳 步骤2:安装Docker环境

2.1 自动安装Docker官方脚本

curl -fsSL https://get.docker.com -o get-docker.sh
sh get-docker.sh

2.2 验证Docker安装是否成功

docker --version  # 显示Docker版本号表示成功
docker compose version  # 显示Docker Compose版本号表示成功

2.3 设置Docker开机自启

systemctl enable docker --now



🚀 步骤3:部署New-API项目

3.1 克隆项目代码到/root目录

cd /root
git clone https://github.com/QuantumNous/new-api.git
cd new-api

3.2 复制配置文件

cp .env.example .env

3.3 (可选)修改配置文件

如果需要自定义端口、数据库密码等,可以编辑.env文件:
vim .env
常用配置项说明:
# 服务端口,默认3000
PORT=3000
# 数据库配置(默认不需要修改,Docker内部使用)
DB_HOST=postgres
DB_PORT=5432
DB_USER=postgres
DB_PASSWORD=postgres
DB_DATABASE=postgres
# Redis配置(默认不需要修改)
REDIS_ADDR=redis:6379
REDIS_PASSWORD=
修改完成后按Esc,输入:wq保存退出。

3.4 启动所有服务

docker compose up -d
第一次启动会自动拉取镜像,需要等待1-3分钟,取决于网络速度。

3.5 验证服务启动状态

docker compose ps
看到三个服务状态都是Up表示启动成功:
  • new-api 主服务
  • postgres 数据库
  • redis 缓存



🌐 步骤4:配置防火墙和端口开放

4.1 启用防火墙(如果未启用)

ufw enable

4.2 开放必要端口

ufw allow 22    # SSH端口,必须开放否则无法连接服务器
ufw allow 80    # HTTP端口
ufw allow 443   # HTTPS端口
ufw allow 3000  # New-API服务端口

4.3 重新加载防火墙配置

ufw reload

4.4 查看防火墙状态

ufw status



✅ 步骤5:访问验证

5.1 浏览器访问

打开浏览器输入:http://您的服务器IP:3000

如果能看到New-API登录页面,说明部署成功!

5.2 默认登录信息

  • 账号:root
  • 密码:123456

⚠️ 重要:登录后请立即修改默认管理员密码,确保安全!



🔗 步骤6:(可选)绑定域名与配置HTTPS

6.1 安装Nginx

apt install -y nginx

6.2 创建Nginx配置文件

vim /etc/nginx/sites-available/new-api
粘贴以下内容,将xzapi.top替换为您的实际域名:
server {
    listen 80;
    server_name xzapi.top www.xzapi.top;
    
    client_max_body_size 100M;
    
    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;
        proxy_read_timeout 600;
        proxy_connect_timeout 600;
        proxy_send_timeout 600;
    }
}
保存退出。

6.3 启用配置文件

ln -s /etc/nginx/sites-available/new-api /etc/nginx/sites-enabled/

6.4 测试Nginx配置是否正确

nginx -t
显示syntax is oktest is successful表示配置正确。

6.5 重载Nginx配置

systemctl reload nginx

6.6 配置免费SSL证书(Let's Encrypt)将xzapi.top替换为您的实际域名

# 安装certbot
apt install -y certbot python3-certbot-nginx

# 自动申请并配置证书
certbot --nginx -d xzapi.top -d www.xzapi.top
按照提示输入邮箱、同意协议等,证书会自动配置并设置自动续期。

配置完成后就可以通过https://your-domain.com访问服务了!



🛠️ 常用运维命令

服务管理

cd /root/new-api

# 启动服务
docker compose up -d

# 停止服务
docker compose down

# 重启服务
docker compose restart

# 查看服务状态
docker compose ps

# 查看服务日志
docker compose logs -f        # 查看所有日志
docker compose logs -f new-api # 只查看API服务日志

升级版本

cd /root/new-api
docker compose pull  # 拉取最新镜像
docker compose up -d # 重启服务

数据备份

cd /root/new-api
# 备份数据库
docker compose exec postgres pg_dump -U postgres postgres > backup_$(date +%Y%m%d).sql

数据恢复

cd /root/new-api
# 先停止API服务
docker compose stop new-api
# 导入备份文件(backup.sql替换为实际备份文件名)
docker compose exec -T postgres psql -U postgres postgres < backup.sql
# 重启服务
docker compose up -d

重置管理员密码

如果忘记密码,执行以下命令重置为123456
cd /root/new-api
docker compose exec postgres psql -U postgres -c "UPDATE \"user\" SET \"password\" = '\$2a\$10\$Z8H4kL9M2nP3qR5sT7uV9wX0yZ1aB3cD5eF7gH9jK1lM3nO5pQ7rS9tV1' WHERE \"username\" = 'root';"



🎯 部署完成后建议操作

  1. ✅ 登录后台修改默认管理员密码
  2. ✅ 配置安全组/防火墙,只开放必要端口
  3. ✅ 配置HTTPS证书
  4. ✅ 定期备份数据库
  5. ✅ 添加模型渠道和配置价格
  6. ✅ 配置用户权限和额度



❓ 常见问题排查

Q1:访问IP:3000打不开?

  1. 检查服务是否启动:docker compose ps 看是否都是Up状态
  2. 检查3000端口是否开放:ufw status 看是否有3000端口允许
  3. 检查服务器安全组是否开放3000端口(云服务器需要在后台配置)
  4. 查看服务日志:docker compose logs new-api 看是否有报错

Q2:Docker启动失败?

  1. 检查系统版本是否支持:Ubuntu 20.04+
  2. 检查虚拟化是否开启(VPS一般默认开启)
  3. 查看Docker日志:journalctl -u docker

Q3:数据库连接失败?

  1. 检查PostgreSQL容器是否启动:docker compose ps postgres
  2. 查看数据库日志:docker compose logs postgres
  3. 确认.env文件中的数据库配置是否正确

Q4:升级版本后页面不更新?

  1. 强制刷新浏览器缓存(Ctrl+F5)
  2. 重启容器:docker compose restart new-api
  3. 清理浏览器缓存或使用无痕模式测试



📚 参考链接

  • 项目官方仓库:https://github.com/QuantumNous/new-api

🚀 一键部署脚本(直接复制到Ubuntu服务器root用户下执行即可)

💡 使用方法:

  1. 连接到新服务器,切换到root用户: sudo -i
  2. 创建脚本文件:vim deploy.sh
  3. 粘贴下面的全部脚本内容,输入复制粘贴:按键盘( i )输入下面内容。保存退出:按Esc ,然后输入(:wq)
  4. 赋予执行权限:chmod +x deploy.sh
  5. 执行脚本:./deploy.sh
#!/bin/bash

# 自动部署New-API脚本
# 适用于Ubuntu 20.04/22.04/24.04

set -e

# 颜色定义
RED='\033[0;31m'
GREEN='\033[0;32m'
YELLOW='\033[1;33m'
NC='\033[0m' # No Color

echo -e "${YELLOW}=====================================${NC}"
echo -e "${YELLOW}  New-API 自动部署脚本开始执行... ${NC}"
echo -e "${YELLOW}=====================================${NC}"
echo ""

# 检查是否为root用户
if [ "$(id -u)" != "0" ]; then
    echo -e "${RED}错误:请使用root用户执行此脚本${NC}"
    exit 1
fi

# 步骤1:系统更新和基础依赖安装
echo -e "${GREEN}[1/7] 正在更新系统并安装基础依赖...${NC}"
apt update -y
apt upgrade -y
apt install -y git curl wget vim build-essential ufw
echo -e "${GREEN}基础依赖安装完成!${NC}"
echo ""

# 步骤2:安装Docker环境
echo -e "${GREEN}[2/7] 正在安装Docker环境...${NC}"
curl -fsSL https://get.docker.com -o get-docker.sh
sh get-docker.sh
systemctl enable docker --now
docker version
docker compose version
echo -e "${GREEN}Docker安装完成!${NC}"
echo ""

# 步骤3:克隆项目代码
echo -e "${GREEN}[3/7] 正在克隆New-API项目代码...${NC}"
cd /root
if [ -d "new-api" ]; then
    echo -e "${YELLOW}检测到已存在new-api目录,正在备份...${NC}"
    mv new-api new-api_backup_$(date +%Y%m%d_%H%M%S)
fi
git clone https://github.com/QuantumNous/new-api.git
cd new-api
cp .env.example .env
echo -e "${GREEN}项目代码克隆完成!${NC}"
echo ""

# 步骤4:启动服务
echo -e "${GREEN}[4/7] 正在启动New-API服务...${NC}"
docker compose up -d
echo -e "${YELLOW}等待服务启动完成...${NC}"
sleep 30
echo ""

# 步骤5:配置防火墙
echo -e "${GREEN}[5/7] 正在配置防火墙...${NC}"
ufw allow 22/tcp
ufw allow 80/tcp
ufw allow 443/tcp
ufw allow 3000/tcp
ufw reload
echo -e "${GREEN}防火墙配置完成!${NC}"
echo ""

# 步骤6:验证服务状态
echo -e "${GREEN}[6/7] 正在验证服务启动状态...${NC}"
docker compose ps
echo ""

# 步骤7:显示部署结果
echo -e "${YELLOW}=====================================${NC}"
echo -e "${GREEN}✅ New-API 部署完成!${NC}"
echo -e "${YELLOW}=====================================${NC}"
echo ""
echo -e "${GREEN}访问地址:${NC}http://$(curl -s ifconfig.me):3000"
echo -e "${GREEN}默认账号:${NC}root"
echo -e "${GREEN}默认密码:${NC}123456"
echo ""
echo -e "${YELLOW}⚠️  重要提示:${NC}"
echo -e "1. 请立即登录后台修改默认管理员密码"
echo -e "2. 如果无法访问,请检查服务器安全组是否开放3000端口"
echo -e "3. 如需绑定域名,请参考教程中的Nginx配置部分"
echo ""
echo -e "${GREEN}常用命令:${NC}"
echo -e "  进入项目目录:cd /root/new-api"
echo -e "  查看服务状态:docker compose ps"
echo -e "  查看服务日志:docker compose logs -f"
echo -e "  重启服务:docker compose restart"
echo ""
echo -e "${YELLOW}=====================================${NC}"