宝塔面板部署方案
从零开始在阿里云 ECS 上安装宝塔面板并配置客联盈系统运行环境,适合运维与实施团队交付使用。
本文仅涵盖服务器选购、宝塔安装、环境配置,不涉及具体业务代码部署。
官方参考:阿里云帮助中心 · 宝塔 Linux 面板
一、阿里云 ECS 服务器选购
1.1 推荐规格
| 项 | 最低配置 | 推荐配置 |
|---|---|---|
| 实例规格 | 2 核 2G | 2~4 核 / 4~8G |
| 系统盘 | 40 GB | 80 GB+ SSD/ESSD |
| 带宽 | 3 Mbps | 5 Mbps+ |
| 地域 | 靠近用户 | 与域名备案地域一致(国内站点需备案) |
1.2 操作系统选择
必须使用干净系统(新购或重装后的纯净镜像,未手动装过 Nginx / Apache / PHP / MySQL / Redis)。
| 推荐镜像 | 说明 |
|---|---|
| CentOS 7.9 | 首选,兼容性最好 |
| Alibaba Cloud Linux 3 | 阿里云自研,兼容 CentOS 系脚本 |
| Ubuntu 22.04 LTS | 可用 |
| Debian 11 / 12 | 可用 |
1.3 购买与登录
- 登录 阿里云控制台 → 云服务器 ECS → 创建实例,按上表选配。
- 购买完成后,在实例列表中找到公网 IP。
- 设置 root 密码(实例 → 重置密码)。
- 本机 SSH 登录:
ssh root@你的公网IP
Windows 可用:终端 / PuTTY / FinalShell / 阿里云"远程连接"。
二、安全组配置(装之前先放行)
阿里云有两层网络控制,都要放行,否则装完打不开面板。
2.1 安全组(控制台必做)
ECS 实例 → 安全组 → 配置规则 → 入方向 添加:
| 端口 | 协议 | 授权对象 | 用途 |
|---|---|---|---|
| 22 | TCP | 建议仅办公 IP / 你的家宽IP/32 | SSH(勿对 0.0.0.0/0 长期开放) |
| 80 | TCP | 0.0.0.0/0 | HTTP |
| 443 | TCP | 0.0.0.0/0 | HTTPS |
| 8888 | TCP | 建议仅办公 IP | 宝塔默认面板端口(装完建议改端口) |
- 安装过程若提示面板端口不是 8888,以终端输出为准,安全组放行实际端口。
- 安装完成后宝塔面板端口建议改为其他端口(如 15888),安全组需同步放行。
- 3306 / 6379 不要对公网开放(仅本机或内网使用)。
2.2 系统防火墙
CentOS 系镜像若已开启 firewalld,需同步放行上述端口,或安装期临时关闭后再在宝塔里统一管理。
三、安装宝塔面板
以下两种方式二选一,装的都是宝塔 Linux 面板免费版,不要在同一台机重复安装。
3.1 方式 A:阿里云控制台扩展程序(推荐新手)
适用于:公共镜像、干净系统、实例运行中且已分配公网 IP。
- 阿里云控制台 → 云服务器 ECS → 目标实例 → 实例详情。
- 右侧 扩展程序 → 安装扩展程序。
- 选择 公共扩展程序 → 宝塔面板免费版一键安装 → 确认安装。
- 等待任务状态变为 已完成(约数分钟,期间勿重启实例)。
- 已安装的扩展程序 → 该扩展 → 配置信息,复制保存:
- 安全组:扩展可能自动放行 8888;若打不开面板,按第二节手动核对入方向规则。
- 浏览器打开面板 URL 登录,继续第四节与第五节。
3.2 方式 B:SSH 脚本安装(CentOS 优先)
全程用 root(或 sudo -i)。安装约数分钟,期间不要断开 SSH。
yum install -y wget && wget -O install.sh https://download.bt.cn/install/install_6.0.sh && sh install.sh ed8484bec
提示确认时输入 y 回车。
其他发行版可选脚本(Ubuntu / Debian 等):
url=https://download.bt.cn/install/install_lts.sh
if [ -f /usr/bin/curl ]; then
curl -sSO $url
else
wget -O install_lts.sh $url
fi
bash install_lts.sh ed8484bec
# Ubuntu / Deepin / Debian
wget -O install.sh https://download.bt.cn/install/install-ubuntu_6.0.sh && bash install.sh ed8484bec
脚本地址若失效,到 https://www.bt.cn/linux 复制官网最新命令。
3.3 安装成功标志
方式 A:扩展程序任务已完成,且"配置信息"中 URL 可在浏览器打开并登录。
方式 B:终端末尾会打印类似信息(立刻复制保存):
==================================================================
Congratulations! Installed successfully!
==================================================================
外网面板地址: http://x.x.x.x:8888/xxxxxxxx
内网面板地址: http://...
username: xxxxxx
password: xxxxxx
==================================================================
用浏览器打开"外网面板地址"→ 输入用户名密码登录。
若打不开:
- 核对安全组是否放行面板端口;
- 本机网络是否拦截;
- 服务器上执行
bt default查看当前面板地址与账号。
四、首次登录必做(安全加固)
- 绑定宝塔账号(按提示,免费版即可)。
- 修改面板密码为强密码。
- 面板设置 → 安全:
- SSH:尽量改为密钥登录,禁用密码登录(改完前先确认密钥可用)。
- 阿里云控制台:为 root 设强密码或禁用密码 + 密钥;开启云监控告警可选。
五、必装环境与插件清单
路径约定:宝塔左侧 软件商店。
5.1 总览清单
| 优先级 | 名称 | 推荐版本 | 作用 |
|---|---|---|---|
| 必装 | Nginx | 1.24.x | Web 服务 / 反向代理 / SSL |
| 必装 | MySQL | 5.7.40 | 业务数据库 |
| 必装 | PHP | 8.1.x | 后端运行环境 |
| 必装 | Redis | 7.x | 缓存 / 会话 / 队列 |
| 必装 | PHP 扩展一组 | 见 5.3 | PDO、GD、zip 等 |
| 必装 | PHP 禁用函数清理 | 见 5.4 | 确保命令行工具可用 |
| 强烈建议 | Supervisor | 最新 | 守护后台队列进程 |
| 可选 | phpMyAdmin | 5.2.x | 数据库管理工具 |
| 可选 | 防火墙 | 面板自带 | 与安全组双保险 |
| 不需要 | Apache | — | 与 Nginx 二选一,本项目用 Nginx |
| 不需要 | Node | — | 生产机不装前端构建工具 |
5.2 安装运行环境
- 登录宝塔 → 左侧 软件商店。
- 顶部切到 运行环境。
- 依次找到 Nginx / MySQL / PHP-8.1 / Redis,点 安装:
- 安装完成后,在 软件商店 → 已安装 确认四者状态为"运行中"。
5.3 PHP 8.1 必装扩展
软件商店 → PHP-8.1 → 设置 → 安装扩展,逐个安装(已安装的跳过):
| 扩展 | 说明 |
|---|---|
fileinfo | 上传 / MIME 类型检测 |
pdo_mysql / mysqli | 数据库连接 |
gd | 图片处理、验证码 |
zip | 压缩文件处理 |
bcmath | 金额精确计算 |
exif | 图片元数据读取 |
intl | 国际化支持 |
opcache | PHP 性能加速 |
mbstring | 多字节字符串(一般默认有) |
curl / openssl | HTTP/HTTPS 请求(一般默认有) |
readline | 命令行交互(建议) |
sockets | Socket 通信(建议) |
redis | Redis 扩展(可选,已有 predis) |
/www/server/php/81/bin/php -m | grep -Ei 'pdo_mysql|gd|zip|bcmath|fileinfo|intl|opcache'
5.4 PHP 禁用函数清理(必做)
PHP-8.1 → 设置 → 禁用函数,从列表中删除下列项(若存在),保存并重载:
putenv
proc_open
proc_get_status
proc_close
pcntl_signal
pcntl_alarm
pcntl_fork
exec
shell_exec
passthru
popen
symlink
readlink
link
不清理会导致 Composer 安装依赖和命令行工具报错。
5.5 PHP 上传与内存配置
PHP-8.1 → 设置 → 配置修改(或"性能调整"):
upload_max_filesize = 50M
post_max_size = 60M
memory_limit = 512M
max_execution_time = 300
保存并重载 PHP。
5.6 MySQL 配置
软件商店 → MySQL 5.7 → 设置 → 配置修改,在 [mysqld] 中确保:
character-set-server=utf8mb4
collation-server=utf8mb4_general_ci
sql_mode=STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION
保存 → 重载配置 / 重启。
MySQL root 密码设置
宝塔安装 MySQL 后会生成初始密码,可通过以下命令获取:
sqlite3 /www/server/panel/data/default.db "SELECT mysql_root FROM config LIMIT 1;"
- 软件商店 → 已安装 → MySQL → 设置 → 根密码。
- 设强密码并保存。
- 安全:MySQL 设置里确认只监听本机;阿里云安全组不要放行 3306。
忘记密码时强制重置
如果面板改密码不生效或忘记密码,通过 SSH 执行:
# 1. 停 MySQL
/etc/init.d/mysqld stop
2. 跳过权限启动
/www/server/mysql/bin/mysqld --skip-grant-tables --user=mysql &
sleep 3
3. 无密码登录
mysql -u root
进入 MySQL 后执行:
FLUSH PRIVILEGES;
ALTER USER 'root'@'localhost' IDENTIFIED BY '新密码';
FLUSH PRIVILEGES;
EXIT;
# 4. 杀进程,正常重启
pkill -f skip-grant-tables
/etc/init.d/mysqld restart
5. 验证
mysql -u root -p
5.7 Redis 配置
- 软件商店 → Redis → 安装(7.x)。
- 设置 → 配置修改:增加或修改
requirepass 你的强密码 - 重启 Redis。
- 确认未对公网开放 6379(安全组不要放行)。
5.8 Supervisor(强烈建议)
用于守护后台队列进程,确保异步任务(通知、导出等)稳定运行。
安装插件
软件商店 → 系统工具 → 搜 Supervisor → 安装。安装后在已安装中确认状态为"运行中"。
添加守护进程
业务代码部署完成后,在 Supervisor 中添加守护进程:
| 字段 | 说明 |
|---|---|
| 名称 | 自定义,如 klinkwin-queue |
| 启动用户 | www(勿用 root) |
| 运行目录 | 业务代码目录 |
| 启动命令 | PHP 队列命令(代码部署后配置) |
| 进程数 | 1(起步) |
5.9 phpMyAdmin(可选)
必须安装 5.2.x,低版本与 PHP 8.1 不兼容。
软件商店 → 系统工具 → phpMyAdmin → 安装,选择 5.2.x 版本。
登录用 MySQL 账号密码,不是宝塔面板账号。
生产建议:改访问路径、加 IP 白名单,或用完停用。
5.10 Composer(部署代码时用)
宝塔一般已自带 Composer。使用时务必指定 PHP 8.1 绝对路径:
/www/server/php/81/bin/php /usr/bin/composer install --no-dev
面板"终端"里若直接敲 php 可能是旧版本,务必用绝对路径。
六、环境检查清单
部署业务代码前,确认以下全部完成:
- [ ] Nginx / MySQL 5.7.40 / PHP 8.1 / Redis 均为"运行中"
- [ ] PHP 扩展清单已勾齐;
php -m可见 pdo_mysql、gd 等 - [ ] 禁用函数已清理
- [ ]
upload_max_filesize≥ 50M,memory_limit≥ 512M - [ ] MySQL 已设
utf8mb4_general_ci - [ ] Redis 已设密码;3306/6379 未对公网开放
- [ ] Supervisor 已安装
- [ ] 未在生产机安装 Node 做前端构建
七、阿里云特有注意点
| 点 | 说明 |
|---|---|
| 备案 | 国内地域 ECS + 域名做网站,需 ICP 备案,未备案可能 80/443 被阻断 |
| 公网 IP | 按量带宽或固定带宽;安全组放行后才可从外网访问 |
| 系统盘扩容 | 控制台扩容后需在系统内分区/扩文件系统,宝塔"磁盘"里也可辅助挂载数据盘 |
| 快照 | 上线前、大变更前打系统盘快照,便于回滚 |
| 不要混装 | 同一台机不要再装"云市场 LNMP 镜像"或手动第二套 Nginx/PHP |
| 时间同步 | 确认 NTP 正常,证书申请与定时任务依赖系统时间 |
八、常用宝塔命令
bt # 面板交互菜单
bt default # 查看面板地址 / 用户名 / 密码
bt 14 # 查看面板错误日志
bt restart # 重启面板
bt stop # 停止面板
bt start # 启动面板
卸载(慎用,会卸下面板相关组件,先备份):
wget -O uninstall.sh http://download.bt.cn/install/bt-uninstall.sh && bash uninstall.sh
九、常见问题
| 现象 | 处理 |
|---|---|
| 安装报冲突 / 端口占用 | 系统不干净或重复安装:重装干净系统后只选一种方式装宝塔 |
| 扩展程序任务失败 | 确认公共镜像、有公网、实例运行中;或改用 SSH 脚本 |
| 外网打不开面板 | 安全组未放行面板端口;或用 bt default 核对端口 |
curl/wget 下载失败 | 检查出网;可换官网备用下载地址 |
| 提示权限不够 | 确认已用 root 登录,或 sudo -i 切到 root 再装 |
| 装完很卡 | 内存过小(建议 ≥ 2G);先别开过多站点与监控插件 |
composer 报 disabled function | 按 5.4 清理禁用函数 |
| 站点选错 PHP 版本 | 网站 → 设置 → PHP 版本改为 PHP-81 |