服务器怎么安装宝塔面板

结论: 安装宝塔面板只需在纯净系统上执行一条官方安装脚本,Ubuntu 24.04 / Debian 12 用 wget -O install.sh https://download.bt.cn/install/install-ubuntu_6.0.sh && bash install.sh ed8484bec,约 5~10 分钟完成。安装完成后必须在云平台安全组与系统防火墙同时放行 8888(面板)、888(phpMyAdmin)、80、443、22 端口,否则面板会打不开。

宝塔面板(BT Panel,官方站点 bt.cn)是国内使用最广泛的服务器管理面板,通过 Web 界面把网站创建、数据库管理、SSL 申请、计划任务、文件管理等操作图形化。对于不熟悉 Linux 命令的新手,它能把原本需要十几条命令的建站流程压缩成几次点击。

但它也有明确代价:面板自身占用约 300~500MB 内存和一定磁盘空间,并且开放了一个可被全网访问的 8888 端口。因此安装只是开始,安全加固才是重点——本文会用相当篇幅讲这一部分。此外,非中国大陆地区的服务器建议使用海外版 aapanel,避免因网络策略导致安装失败。

安装前:系统与端口准备

结论:宝塔必须在"纯净、未安装过任何 Web 环境"的系统上安装,否则会与已有的 Nginx、MySQL、PHP 冲突。 这是安装失败和后续运行异常的首要原因。

系统与资源要求

项目最低要求推荐配置
内存512MB(纯面板)≥ 2GB(含 LNMP 环境)
磁盘系统盘 ≥ 20GB≥ 40GB SSD
架构x86_64 / aarch64x86_64
系统Ubuntu 20.04+、Debian 10+、Rocky 8+、CentOS 7Ubuntu 24.04 LTS
环境纯净系统,无预装 Nginx/Apache/MySQL/PHP全新重装的系统
权限root 用户root 用户

必须放行的端口

端口用途是否必须开放
8888宝塔面板 Web 入口必须(可后期修改)
888phpMyAdmin 数据库管理入口按需
80HTTP 网站访问必须
443HTTPS 网站访问必须
22SSH 远程连接必须
20/21FTP 服务按需
3306MySQL 远程连接不建议开放
关键提醒:8888 端口有两道关卡——云平台安全组和系统防火墙(ufw/firewalld)。两处都必须放行,只配一边的结果是外网依然访问不了。

先放行端口再安装,能省掉排查时间:

bash
# ===== Ubuntu 24.04 / Debian 12:ufw =====
sudo ufw allow 22/tcp comment 'SSH'
sudo ufw allow 80/tcp comment 'HTTP'
sudo ufw allow 443/tcp comment 'HTTPS'
sudo ufw allow 888/tcp comment 'phpMyAdmin'
sudo ufw allow 8888/tcp comment 'BT-Panel'
sudo ufw reload
sudo ufw status numbered

# ===== Rocky Linux 9 / CentOS 7:firewalld =====
sudo systemctl enable --now firewalld
sudo firewall-cmd --permanent --add-port=22/tcp
sudo firewall-cmd --permanent --add-port=80/tcp
sudo firewall-cmd --permanent --add-port=443/tcp
sudo firewall-cmd --permanent --add-port=888/tcp
sudo firewall-cmd --permanent --add-port=8888/tcp
sudo firewall-cmd --reload
sudo firewall-cmd --list-ports

云平台侧:进入实例 → 安全组 → 配置规则 → 添加入站规则,协议 TCP,端口 22,80,443,888,8888,授权对象建议先填 0.0.0.0/0(调试用),正式使用后把 8888 的来源限制为你的固定 IP。

安装宝塔面板:各系统官方命令

结论:不同 Linux 发行版的安装脚本文件名不同,选错脚本会导致安装失败。 下面按系统给出对应命令,均以 root 用户执行。

Ubuntu / Debian 安装命令

bash
# ===== Ubuntu 24.04 / 22.04 =====
wget -O install.sh https://download.bt.cn/install/install-ubuntu_6.0.sh && bash install.sh ed8484bec

# ===== Debian 12 / 11 =====
wget -O install.sh https://download.bt.cn/install/install-ubuntu_6.0.sh && bash install.sh ed8484bec

# 安装过程中出现询问时输入 y 并回车确认
# 全程约 5~15 分钟,取决于服务器性能与网络

CentOS / Rocky Linux 安装命令

bash
# ===== CentOS 7(已 EOL,仅存量可用)=====
yum install -y wget && wget -O install.sh https://download.bt.cn/install/install_6.0.sh && sh install.sh ed8484bec

# ===== Rocky Linux 9 / AlmaLinux 9 =====
dnf install -y wget
wget -O install.sh https://download.bt.cn/install/install_6.0.sh && sh install.sh ed8484bec
CentOS 7 已于 2024 年 6 月 30 日停止维护,官方 yum 源已下线。如必须使用,需先把源切换到 vault.centos.org,长期使用建议迁移至 Rocky Linux 9。

安装完成后,终端会输出类似下面这段信息,请务必完整保存:

text
==================================================================
外网面板地址: http://203.0.113.10:8888/a1b2c3d4
内网面板地址: http://10.0.0.5:8888/a1b2c3d4
username: abcdefgh
password: 1a2b3c4d
==================================================================

其中 /a1b2c3d4 是安全入口(一串随机字符串),忘记它就无法访问登录页,这是宝塔的一道防护设计。

安装后必做的 6 项安全加固

结论:宝塔装上后立刻完成六件事——绑定宝塔账户、修改面板端口与入口、设置授权 IP 白名单、安装系统防火墙插件、开启面板 SSL、配置登录告警。 面板默认端口 8888 与默认入口的组合,是自动化扫描脚本的重点目标,长期暴露会持续遭遇撞库尝试。

bash
# 忘记面板地址、用户名密码时,用 bt 命令找回
bt default        # 显示面板地址与默认账户信息

# 交互菜单:数字 5 改面板密码,6 改面板用户名,8 改面板端口
bt                # 输入对应数字回车

具体加固项操作路径:

  1. 面板设置 → 修改端口:把 8888 改成 10000~65535 之间的冷门端口(如 25671),并同步在安全组放行新端口、关闭旧端口。
  2. 面板设置 → 修改安全入口:把随机串改成自己的复杂字符串,如 /myBtPanel_2026。
  3. 面板设置 → 授权 IP:填写你的办公网或家庭固定 IP,填写后只有该 IP 能打开面板。
  4. 软件商店 → 安装"系统防火墙"插件:它会自动接管 iptables/firewalld,可视化放行端口。
  5. 面板设置 → 开启面板 SSL:配合自有域名使用 HTTPS 访问面板,避免登录密码被嗅探。
  6. 设置 → 安全告警:开启"登录告警"与"面板操作短信/邮件提醒",异常登录第一时间知晓。
bash
# 修改面板端口后同步更新 iptables(Ubuntu / Debian)
sudo iptables -I INPUT -p tcp --dport 25671 -j ACCEPT
sudo iptables -I INPUT -p tcp --dport 8888 -j DROP
sudo iptables-save

# 验证端口监听
sudo ss -lntup | grep -E ':(8888|25671)'

用面板搭建第一个网站

结论:宝塔建站的完整链路是"软件商店装 LNMP → 网站菜单添加站点 → 创建数据库 → 上传代码 → 申请 SSL"。 这里给出与面板操作对应的底层命令,便于理解它到底做了什么。

bash
# 面板背后实际执行的动作(理解原理用,不必手动重复)
# 1. 软件商店安装 Nginx/MySQL/PHP 后,进程与端口对应关系
sudo ps -eo user,pid,%mem,comm | grep -E 'nginx|mysqld|php-fpm'

# 2. "添加站点"实际生成的文件
#    站点根目录:  /www/wwwroot/example.com/
#    Nginx 配置:  /www/server/panel/vhost/nginx/example.com.conf
#    绑定的 DB:   在 MySQL 中 create database + create user

# 3. "申请 Let's Encrypt"实际写入的配置片段
sudo cat /www/server/panel/vhost/nginx/example.com.conf

典型的站点 Nginx 配置(面板自动生成,可直接编辑):

nginx
server {
    listen 80;
    server_name example.com www.example.com;
    index index.php index.html index.htm;
    root /www/wwwroot/example.com;

    # SSL 相关(面板申请证书后自动追加)
    listen 443 ssl;
    ssl_certificate    /www/server/panel/vhost/cert/example.com/fullchain.pem;
    ssl_certificate_key /www/server/panel/vhost/cert/example.com/privkey.pem;
    ssl_protocols TLSv1.2 TLSv1.3;

    # HTTP 强制跳转 HTTPS
    if ($server_port !~ 443){
        rewrite ^(/.*)$ https://$host$1 permanent;
    }

    location ~ [^/]\.php(/|$) {
        try_files $uri =404;
        fastcgi_pass  unix:/tmp/php-cgi-83.sock;
        fastcgi_index index.php;
        include fastcgi.conf;
    }

    access_log  /www/wwwlogs/example.com.log;
    error_log   /www/wwwlogs/example.com.error.log;
}

面板常见运维命令

结论:掌握下面这组 bt 命令,能在面板本身出问题时用 SSH 救回来。 这是很多新手不知道的"后门"。

bash
bt                  # 打开交互式管理菜单
bt default          # 查看面板地址与默认登录信息
bt 5                # 修改面板密码
bt 6                # 修改面板用户名
bt 8                # 修改面板端口
bt 11               # 取消域名绑定限制
bt 12               # 取消登录入口限制(慎用)
bt restart          # 重启面板服务
bt stop             # 停止面板
bt start            # 启动面板

# 手动启停面板服务(systemd 层面)
/etc/init.d/bt restart
systemctl status bt

# 查看面板自身日志
tail -100 /tmp/panelBoot.pl
cat /www/server/panel/logs/error.log

常见误区 / 排错提示

  1. 在已装环境的机器上安装宝塔:系统里已有 Nginx 或 Apache,会发生端口冲突和配置文件互相覆盖。正确做法是先在云平台重装为纯净系统再安装。
  2. 只放行一处防火墙:8888 端口要同时通过云平台安全组和系统 ufw/firewalld 两道关卡。测试方法是 telnet 公网IP 8888 或 nc -zv IP 8888,不通就说明某一层还没放行。
  3. 忘记安全入口串就重装面板:完全没必要,bt default 一条命令就能显示完整内网/外网面板地址,包括入口串和账号密码。
  4. 3306 端口对外开放并在面板开 MySQL 远程 root:这是数据被拖库或加密勒索最常见的成因。数据库远程访问应限定 IP,或使用 SSH 隧道,日常用 phpMyAdmin(888 端口)或本地 SQL 管理。
  5. 不绑定宝塔账户:未绑定时面板会持续弹出登录腾讯云/宝塔账户的提示,且部分功能受限。绑定后还能在多台服务器间统一管理。

常见问题(FAQ)

宝塔面板打不开或登录密码忘了怎么办?

结论:面板打不开先查 8888 端口是否放行,密码忘了则用 SSH 里的 bt 命令重置,两种情况都不需要重装面板。打不开时先在服务器本机执行 curl -I http://127.0.0.1:8888 确认面板服务是否存活(返回 HTTP 200 即正常),再用 telnet 公网IP 8888 从外部测试;本机通而外网不通,就是安全组或 ufw 的问题,把 8888(以及 888、80、443、22)加入放行清单即可。密码找回则在 SSH 中执行 bt 打开菜单,输入 5 修改面板密码、6 修改用户名,bt default 可查看完整登录信息,全程不需要联系客服;若连 SSH 都进不去,再考虑用云控制台的 VNC 入口进入救援。

宝塔占用内存大吗,低配服务器能装吗?

结论:面板自身约占 300~500MB 内存,加上 LNMP 环境总量通常在 900MB~1.5GB。1GB 内存的机器勉强能跑但很吃力,建议至少 2GB。若确实是低配需求,可在面板设置中关闭不需要的插件,或改用 Nginx + 手动配置的方式。

海外服务器能安装宝塔吗,要不要用 aapanel?

结论:能装,但推荐使用海外版 aapanel。海外服务器访问 bt.cn 的下载节点可能出现超时或中断。aapanel 是宝塔的官方国际版,功能基本一致、强制绑定账户策略更宽松,安装命令为 wget -O install.sh http://www.aapanel.com/script/install_6.0_en.sh && bash install.sh。

宝塔安装的软件卸载干净吗?

结论:绝大部分可以干净卸载,但要注意残留。在软件商店点卸载会移除主程序与配置,但 /www/backup、/www/wwwroot 下的数据需要手动清理,MySQL 卸载前务必先导出.sql 备份。还有几处容易踩的坑:Nginx/Apache 卸载后 /www/server/panel/vhost 下的站点配置常常残留,重装时会被重新加载并导致端口冲突;PHP 多版本共存时卸载其中一个可能误删共用扩展目录,影响其余版本;编译安装的软件不会写进包管理器,rpm -qa 或 dpkg -l 查不到,只能手工核对目录。稳妥做法是先做一次面板全量备份,再用 ls /www/server/ 与 systemctl list-unit-files 逐项检查残留服务并手动停用。

宝塔和 AppNode、小皮等其他面板哪个好?

结论:宝塔生态最成熟、中文文档和教程最多,新手首选。AppNode 界面更现代化但社区较小;小皮面板更适合 Windows 环境。若你熟悉 Docker,也可考虑 1Panel,它以容器方式部署软件,卸载隔离性更好。选择建议是:谁出问题能搜到答案就用谁。

用宝塔会被收费用吗?

结论:宝塔基础功能(Linux 面板免费版)可长期使用且免费,足以覆盖建站、SSL、备份需求。付费的部分是"专业版插件",如网站加速、防火墙增强、集群管理等,按需购买。面板会提示推荐插件,安装前看清是否收费即可。