前置条件
- 1已注册腾讯云账号
- 2一台腾讯云轻量应用服务器或 CVM(2C4G 起步)
- 3服务器系统为 Ubuntu / CentOS / Debian 之一(推荐 Ubuntu 22.04)
- 4能通过 SSH 登录服务器
读完想动手?新用户首单 8 折上云
服务器 + 大模型 API + 对象存储,新用户首购享 20% 补贴
宝塔面板 腾讯云部署完整指南
宝塔面板是国内用户量最大的服务器运维面板。它的价值很直接:把命令行里那些记不住的参数变成鼠标点选——建网站、申请 SSL、配数据库、看负载,都在网页里完成。
对不熟悉 Linux 的人来说,这一篇是把前面所有 AI 部署教程落地的基础设施:面板搭好之后,你可以用图形界面管理服务器,同时继续用命令行部署 AI 服务,两者不冲突。
为什么先讲宝塔
前面几篇教程(GLM、InternLM、QAnything 等)都假设你会敲命令。但真实情况是:
- 你想让同事也能管理这台机器,但他不会命令行
- 你需要配 SSL、建多个站点、看资源占用,这些用面板快得多
- 你要把 AI 服务挂到域名上,反代配置用面板点几下就搞定
所以这篇的定位是:用面板把服务器管起来,再把 AI 服务托管上去。
和 1Panel 怎么选
本站另有 1Panel 腾讯云部署教程。简单对比:
| 维度 | 宝塔面板 | 1Panel |
|---|---|---|
| 国内用户量 | 最大,教程最多 | 较新,增长快 |
| 上手难度 | 低 | 低 |
| 应用商店 | 丰富 | 丰富(含 MaxKB、Dify 等 AI 应用) |
| 容器管理 | 支持 | 更现代(原生 Docker 视角) |
| 界面风格 | 偏传统 | 更简洁 |
结论:要资料多、遇到问题好搜,选宝塔;要容器与 AI 应用开箱即用,选 1Panel。两者可以二选一,不要同时装(会抢端口和配置文件)。
第一步:服务器准备
1.1 镜像选择
宝塔支持主流 Linux 发行版,推荐 Ubuntu 22.04 LTS:
- Ubuntu 22.04 LTS(推荐,教程命令基于此验证)
- CentOS 7 / Rocky(注意 CentOS 已停止维护)
- Debian 11/12
警告
⚠️ 必须是纯净系统。如果服务器上已经装过 Nginx、Apache、MySQL 或 PHP,安装脚本会冲突报错。新买的服务器最省事。
前往 腾讯云轻量应用服务器 选购页,选 Ubuntu 22.04 LTS 纯净镜像,2C4G 起步(跑 Docker 服务建议 4C8G)。
1.2 放行端口(这一步漏了面板一定打不开)
宝塔默认使用 8888 端口。腾讯云有两层防火墙,都要放行:
- 腾讯云控制台」防火墙」(安全组):放行 8888
- 服务器内部防火墙:Ubuntu 默认不启用,若启用需放行
建议一次性把这些端口都放行:
| 端口 | 用途 |
|---|---|
| 22 | SSH |
| 80 | HTTP |
| 443 | HTTPS |
| 8888 | 宝塔面板 |
| 888 | phpMyAdmin(如需) |
警告
⚠️ 这是新手最常卡住的地方:面板装完了但浏览器打不开,八成是端口没放行。
第二步:安装宝塔面板
2.1 执行安装脚本
SSH 登录服务器,执行:
1wget -O install.sh https://download.bt.cn/install/install-ubuntu_6.0.sh && sudo bash install.sh ed8484bec安装过程会问你是否确认安装,输入 y 回车。全程约 3-10 分钟,取决于机器性能和网络。
警告
⚠️ 安装脚本地址以宝塔官网当前提供为准。上面是 Ubuntu 版本的示例,其它系统请到宝塔官网获取对应脚本(CentOS 用 install_6.0.sh,Debian 用 install-ubuntu_6.0.sh 的 Debian 版)。不要用来路不明的第三方脚本。
2.2 保存安装完成后的信息
安装完成后,终端会打印类似这样的信息,务必复制保存:
1========================面板账户信息========================
2 面板地址: http://服务器IP:8888/随机安全入口
3 用户名: xxxxxxxx
4 密码: xxxxxxxx这三样丢了会很麻烦,建议立刻存到密码管理器里。
2.3 常用 bt 命令
宝塔提供 bt 命令行工具(需 root):
1sudo bt常用菜单项:
| 编号 | 功能 |
|---|---|
| 5 | 修改面板密码 |
| 6 | 修改面板用户名 |
| 8 | 修改面板端口 |
| 11 | 取消域名绑定限制 |
| 14 | 查看面板默认信息(找回地址/账号/密码) |
警告
⚠️ 忘了面板地址或密码,执行 sudo bt 然后选 14,会重新打印出来。
2.4 登录面板
浏览器打开安装完成给出的地址(形如 http://IP:8888/xxxxxxx),输入账号密码。
首次登录会推荐安装套件(LNMP/LAMP),按需选择:
- 只要跑 Docker 服务:可以不装,或者只装 Nginx(后面反代要用)
- 要建 PHP 站点:选 LNMP
提示
💡 建议:Nginx + MySQL 足矣,PHP 用不上就别装,省资源。
第三步:安装 Docker 环境
面板装好之后,AI 服务用 Docker 部署最省心。宝塔应用商店里可以装 Docker,但命令行更可控,推荐命令行。
3.1 安装 Docker
1sudo apt-get update
2sudo apt-get install -y ca-certificates curl gnupg lsb-release
3
4sudo install -m 0755 -d /etc/apt/keyrings
5curl -fsSL https://mirrors.cloud.tencent.com/docker-ce/linux/ubuntu/gpg \
6 | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
7sudo chmod a+r /etc/apt/keyrings/docker.gpg
8
9echo \
10 "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] \
11 https://mirrors.cloud.tencent.com/docker-ce/linux/ubuntu \
12 $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
13
14sudo apt-get update
15sudo apt-get install -y docker-ce docker-ce-cli containerd.io docker-compose-plugin
16
17sudo usermod -aG docker $USER
18newgrp docker3.2 配置镜像加速
腾讯云控制台「容器镜像服务 → 镜像加速器」里有专属地址:
1sudo mkdir -p /etc/docker
2sudo tee /etc/docker/daemon.json <<'EOF'
3{
4 "registry-mirrors": [
5 "https://你的专属地址.mirror.swr.myqcloud.com"
6 ]
7}
8EOF
9sudo systemctl daemon-reload
10sudo systemctl restart docker3.3 验证
1docker --version
2docker compose version
3docker run --rm hello-worldhello-world 能跑通就说明环境 OK。
3.4 在面板里看 Docker(可选)
宝塔应用商店可以装「Docker 管理器」插件,装完能在面板里看容器列表、启停容器。
提示
💡 日常建议:查看状态用面板,部署操作用命令行。命令行的好处是可复制、可写进文档、换机器能重放。
第四步:建站与申请 SSL
4.1 添加站点
面板「网站 → 添加站点」:
| 字段 | 填写 |
|---|---|
| 域名 | 你的域名(如 ai.yourdomain.com) |
| 根目录 | 默认即可 |
| 数据库 | 按需(纯反代可不选) |
| PHP 版本 | 纯静态或纯反代选「纯静态」 |
警告
⚠️ 域名必须已解析到这台服务器的 IP,否则 SSL 申请会失败。
4.2 申请 SSL 证书
站点列表里点域名 →「SSL → Let's Encrypt → 申请」,按提示完成验证。
申请成功后开启「强制 HTTPS」。
提示
💡 宝塔的 Let's Encrypt 会自动续签,只要别把验证方式改坏就行。到期前留意一下即可。
第五步:用面板管理服务器
装完面板之后,这些事都能在网页里做:
| 功能 | 入口 | 用途 |
|---|---|---|
| 文件管理 | 「文件」 | 上传下载、编辑配置文件 |
| 终端 | 「终端」 | 网页内敲命令(需登录) |
| 计划任务 | 「计划任务」 | 定时备份、定时脚本 |
| 监控 | 「监控」 | 看 CPU / 内存 / 磁盘占用 |
| 日志 | 「日志」 | 查 Nginx 访问与错误日志 |
| 防火墙 | 「安全」 | 放行/关闭端口 |
5.1 必做的安全设置
- 修改面板端口:
sudo bt→ 8,把 8888 改成不常见端口 - 修改安全入口:面板设置里改随机路径
- 设置面板 SSL:面板设置里可以绑定域名并开 HTTPS
- 开启登录保护:面板设置里可设 IP 限制或二次验证
- 定期改密码:
sudo bt→ 5
警告
⚠️ 面板暴露在公网,弱密码 = 服务器送人。这几条不是可选优化。
5.2 用计划任务做备份
「计划任务 → 添加任务」:
- 任务类型:备份数据库 / 备份目录
- 执行周期:每天
- 保留份数:7
备份一定要做,尤其是数据库。服务器出问题时备份是唯一的后悔药。
第六步:反向代理托管 AI 服务(核心用法)
这是本文最有价值的一步:把本机跑的 AI 服务挂到域名上,带 HTTPS,手机也能访问。
6.1 原理
1用户浏览器 ──HTTPS──> Nginx(宝塔) ──HTTP──> 127.0.0.1:11434 (Ollama)
2 127.0.0.1:8080 (MaxKB)
3 127.0.0.1:3000 (Open WebUI)对外只暴露 443,内部服务只监听本机,安全且干净。
6.2 常见服务对照表
| 服务 | 本机端口 | 参考教程 |
|---|---|---|
| Ollama | 11434 | GLM / InternLM |
| MaxKB 知识库 | 8080 | MaxKB |
| Open WebUI | 3000(容器映射可改) | GLM |
| QAnything | 8777 | QAnything |
6.3 配置步骤
站点 →「反向代理 → 添加反向代理」:
| 字段 | 值 |
|---|---|
| 代理名称 | 自定义(如 ollama) |
| 目标 URL | http://127.0.0.1:11434 |
| 发送域名 | $host |
| 内容替换 | 一般留空 |
保存后访问你的域名,应该就能看到服务了。
6.4 三个必须注意的点
警告
⚠️ 目标 URL 必须是 127.0.0.1,不能写 localhost。Nginx 解析 localhost 的行为在某些配置下会出问题,写 IP 最稳。
警告
⚠️ 内部服务不要对外暴露端口。Docker 启动时用 -p 127.0.0.1:11434:11434 而不是 -p 11434:11434,配合反代就够了。安全组里也不要放行这些端口。
警告
⚠️ WebSocket 服务要额外配置。Open WebUI 这类需要 WebSocket 的,反代配置里要加 Upgrade 头,否则页面能开但消息发不出去:
1proxy_http_version 1.1;
2proxy_set_header Upgrade $http_upgrade;
3proxy_set_header Connection "upgrade";
4proxy_set_header Host $host;
5proxy_read_timeout 3600s;在宝塔的「配置文件」里手动加这几行。
6.5 加访问控制
如果这个服务不想公开,加一层基础认证。宝塔站点「目录保护」或手动在 Nginx 配置里加:
1auth_basic "Restricted";
2auth_basic_user_file /www/server/passwords/htpasswd;生成密码文件:
1sudo mkdir -p /www/server/passwords
2sudo htpasswd -c /www/server/passwords/htpasswd 用户名警告
⚠️ 没有 htpasswd 就装:sudo apt-get install -y apache2-utils。
第七步:部署一个完整示例(MaxKB 挂域名)
把上面的串起来,以 MaxKB 为例:
1# 1. 启动(只监听本机)
2docker run -d \
3 --name maxkb \
4 --restart unless-stopped \
5 -p 127.0.0.1:8080:8080 \
6 -v /data/maxkb:/opt/maxkb \
7 1panel/maxkb:latest
8
9# 2. 确认本机可访问
10curl -I http://127.0.0.1:8080然后在宝塔里:
- 添加站点
kb.yourdomain.com - 申请 SSL,开强制 HTTPS
- 添加反向代理,目标
http://127.0.0.1:8080 - 访问
https://kb.yourdomain.com
至此,你的知识库有了正式域名和 HTTPS,手机浏览器也能直接打开。
18 条故障排查
| # | 现象 | 原因 | 解决 |
|---|---|---|---|
| 1 | 面板打不开 | 8888 端口未放行 | 腾讯云控制台「防火墙」放行 8888 |
| 2 | 忘了面板地址/密码 | 没保存 | sudo bt → 14 查看 |
| 3 | 安装脚本报错中断 | 系统不纯净 | 重装纯净系统后再装 |
| 4 | 安装脚本 404 | 地址过期 | 到宝塔官网获取当前脚本地址 |
| 5 | 登录后空白页 | 浏览器缓存 | 换浏览器;清缓存;用无痕模式 |
| 6 | Docker 装不上 | 源不可用 | 换镜像源;确认系统版本受支持 |
| 7 | docker 命令要 sudo | 用户不在 docker 组 | usermod -aG docker $USER 后重新登录 |
| 8 | 镜像拉取慢 | 没配加速 | 配专属镜像地址 |
| 9 | SSL 申请失败 | 域名未解析到本机 | 确认解析生效;等 DNS 传播 |
| 10 | SSL 申请报频率限制 | 同一个域名申请太多次 | 等一段时间再试 |
| 11 | 反代 502 | 目标服务没起来 | curl -I http://127.0.0.1:端口 确认 |
| 12 | 反代 502 但服务正常 | 目标 URL 写了 localhost | 改成 127.0.0.1 |
| 13 | 页面能开但功能异常 | WebSocket 未配置 | 加 Upgrade 头(见 6.4) |
| 14 | 反代后登录态丢失 | 缺 Host 头 | 发送域名填 $host |
| 15 | 端口仍能从公网访问 | Docker 映射了 0.0.0.0 | 改成 127.0.0.1:端口:端口 |
| 16 | 面板很卡 | 服务器资源不足 | 关无用插件;升配 |
| 17 | 磁盘告警 | 日志与备份堆积 | 清理旧备份;docker system prune -a |
| 18 | 面板被暴力破解 | 弱密码 | 改强密码 + 改端口 + 改安全入口 |
落地建议
- 端口放行是第一步 —— 面板装完打不开,九成是防火墙没放行,别急着重装。
- 装完立刻改端口、改安全入口、设强密码 —— 面板暴露公网,这三条不做等于开门揖盗。
- AI 服务一律只监听 127.0.0.1 —— 对外只留 443,安全且够用。
- 反代目标写 IP 不写 localhost —— 省掉一类莫名其妙的 502。
- 面板管运维、命令管部署 —— 两者配合效率最高;命令行的好处是可复现、能写进文档。
常见问题
Q宝塔面板收费吗?
有免费的 Linux 面板基础版,网站管理、数据库、FTP、SSL、文件管理这些核心功能都能用,个人与小型项目完全够用。专业版是付费的(多了一些企业级插件与增强功能)。安装时不要被引导去买不必要的付费插件,免费功能已经能覆盖本文的全部操作。
Q装了宝塔还能手动敲命令吗?
能,而且建议这么做。宝塔只是提供图形界面,底层还是同一台 Linux。面板里装的 Nginx、MySQL 与命令行安装的是同一套,不会冲突。本文的混合用法是:环境搭建用面板图省事,AI 服务部署继续用命令行(更可控、便于复现)。
Q为什么要把 AI 服务做反向代理?
两个原因。一是**安全**:直接把 11434(Ollama)、8080(MaxKB)这类端口暴露到公网风险很高,反代之后只暴露 80/443,还能加 HTTPS 与访问控制。二是**好用**:有了域名和证书,手机浏览器也能直接打开你的 AI 服务,不用记 IP 和端口号。本文第六步给出具体配置。