这份指南以最稳定、最便于后续维护的 Docker Compose 方案为基础,并融合了商业化运营的最佳实践(包含安全加固、完整 SaaS 模式开启以及 Nginx 反向代理配置),确保您的平台一次性完美上线。github源码


准备工作

在开始之前,请确保您已经完成以下几点:

  • 域名,购买路径:国内(阿里云、腾讯云、火山云等),国外(godaddynamesilo等)。反向代理与 CDN(cloudflare);
  • 服务器,购买路径:国内(阿里云、腾讯云、火山云等),国外(vultrnetcup等)。
  • 将域名(例如 api.yourdomain.com)指向新服务器的 IP 地址。

第一步:安装基础环境

如果您的服务器是全新的,首先需要安装 Docker 和 Docker Compose。

# 1. 一键安装 Docker
curl -fsSL https://get.docker.com | bash

# 2. 启动 Docker 并设置开机自启
systemctl enable docker --now

# 3. 检查是否安装成功
docker compose version


第二步:拉取项目与核心配置

这一步决定了您的系统是否安全,以及能否顺利开启注册、充值等商业化功能。请务必在第一次启动前修改好配置。

# 1. 创建专门的部署目录并进入
mkdir -p /opt/sub2api-deploy && cd /opt/sub2api-deploy

# 2. 下载官方提供的自动部署配置脚本
curl -sSL https://raw.githubusercontent.com/Wei-Shaw/sub2api/main/deploy/docker-deploy.sh | bash

脚本执行完毕后,当前目录下会生成 .env.env.exampledocker-compose.yml 等文件。

image-20260613221439008

接下来,我们编辑环境变量:

# 3. 编辑配置文件     ps: .env.example可以理解为.env的模板。
vim .env

在打开的文件中,务必核对并修改以下核心参数

# .env配置中的部分nei'rong

# 运行模式: standard (默认) 或 simple (内部自用)
# standard: 完整 SaaS 功能,包含计费/余额校验;simple: 隐藏 SaaS 功能并跳过计费/余额校验
RUN_MODE=standard
SIMPLE_MODE_CONFIRM=false

# -----------------------------------------------------------------------------
# Admin Account
# -----------------------------------------------------------------------------
# Email for the admin account   
ADMIN_EMAIL=admin@yourdomain.com  # 登录系统的管理员账号 (重要)

# Password for admin account
# Leave empty to auto-generate (will be shown in logs on first run)    
ADMIN_PASSWORD=admin_password      # 登录系统的管理员密码 (重要)


# 其他配置,如果看不懂不建议改动。

修改完成后记得保存!


如果后续修改了 .env 配置文件,请务必在 /opt/sub2api-deploy 目录下执行:

docker compose down
docker compose up -d

第三步:正式启动系统

在配置无误且数据目录还是空的情况下,执行启动命令。此时系统会自动使用您刚才设置的新密码和新账号完成安全初始化。

Bash

# 后台启动所有服务
docker compose up -d

# 启动日志
tail -200f /opt/sub2api-deploy/data/logs/sub2api.log  

第四步:配置 Nginx 与 域名

为了让用户通过优雅的域名访问,并且支持流式对话,我们需要配置 Nginx 进行反向代理。

安装 Nginx

# Debian/Ubuntu 系统:
apt update && apt install nginx -y

# CentOS/RHEL 系统:
yum install epel-release -y && yum install nginx -y

# 设置开机自启
systemctl enable nginx --now

Nginx 配置文件

# 创建文件
sudo vim /etc/nginx/conf.d/sub2api.conf

sub2api.conf配置

server {
    listen 80;
    server_name yourdomain.com; # 替换为实际域名

    # Sub2API 调度强依赖 Header,默认 Nginx 会丢弃带下划线的 Header,必须开启
    underscores_in_headers on;

    location / {
        proxy_pass http://127.0.0.1:8080;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        
        # 传递真实 IP 与协议
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
        
        # 关闭缓冲以支持 AI 的流式打字机效果 (SSE)
        proxy_buffering off;
        proxy_cache off;
        
        # 超时设置放宽,防止画图或大模型思考超时
        proxy_read_timeout 3600;
        proxy_connect_timeout 3600;
        proxy_send_timeout 3600;
    }
}

重启 Nginx

nginx -t                 # 检查语法是否正确
systemctl restart nginx  # 重启生效

🎉 部署完成

image-20260613231847391
image-20260613231245796

现在,您的平台已经完美上线!

在浏览器中访问 https://您的域名.com

使用您在 .env 中设置的管理员邮箱和密码登录。

进入左侧菜单的 系统设置。确认 “允许新用户注册” 开关已打开。

Logo

openEuler 是由开放原子开源基金会孵化的全场景开源操作系统项目,面向数字基础设施四大核心场景(服务器、云计算、边缘计算、嵌入式),全面支持 ARM、x86、RISC-V、loongArch、PowerPC、SW-64 等多样性计算架构

更多推荐