使用 Alibaba Cloud Linux 3.21.04 部署宝塔面板需要注意哪些问题?

在 Alibaba Cloud Linux 3(基于 CentOS Stream 8/AlmaLinux/Rocky Linux 体系)上部署宝塔面板(BT Panel),核心痛点在于软件包管理器的兼容性以及内核级别的防火墙策略。

以下是必须注意的关键问题及解决方案,按优先级排序:

1. 强制使用 yum/dnf 安装,严禁手动编译或下载二进制包

Alibaba Cloud Linux 3 默认使用 dnf 作为包管理器,且依赖关系与 CentOS 7 完全不同。

  • 错误做法:直接下载 .sh 脚本运行后,尝试通过 yum install nginx php 等命令安装组件,可能会因为仓库源不匹配导致大量依赖冲突。
  • 正确做法:
    • 确保系统已更新到最新状态:sudo dnf update -y
    • 宝塔官方脚本通常会自动适配环境,但首次运行前需确认基础依赖齐全。
    • 关键点:在安装宝塔过程中,如果提示缺少某些库(如 libcurl, openssl 等),请优先使用 dnf install <package> 解决,而不是去网上找 RPM 包手动安装,这会破坏系统的完整性校验。

2. 防火墙配置:禁用 firewalld,改用 iptables 或宝塔自带防火墙

这是最常见的“连不上 SSH”或“网站打不开”的原因。

  • 背景:CentOS 8/Alibaba Cloud Linux 3 默认启用 firewalld,其规则复杂且对非标准端口支持不佳。
  • 操作建议:

    1. 停止并禁用 firewalld:
      systemctl stop firewalld
      systemctl disable firewalld
    2. 安装 iptables-services(宝塔面板更习惯使用 iptables):
      dnf install iptables-services -y
      systemctl enable iptables
      systemctl start iptables
    3. 开放必要端口:

      • SSH 端口(默认 22)
      • 宝塔面板端口(默认 8888,务必修改!)
      • HTTP/HTTPS (80, 443)
      • FTP (21, 20)
      • 数据库端口(3306, 5432 等,如需远程访问)

      注意:如果在阿里云控制台的安全组中未放行这些端口,即使服务器内部防火墙已开,外部也无法访问。务必检查阿里云 ECS 实例的“安全组”规则。

3. SELinux 必须设置为 Permissive 或 Disabled

Alibaba Cloud Linux 3 默认开启 SELinux,而宝塔面板的自动化脚本和文件权限管理常与 SELinux 策略冲突,导致网站无法启动、日志无权限写入等问题。

  • 操作:
    setenforce 0  # 临时生效
    sed -i 's/^SELINUX=enforcing$/SELINUX=permissive/' /etc/selinux/config
    # 重启系统使配置永久生效
    reboot

    推荐:生产环境中建议将 SELinux 设为 permissive(记录警告但不阻止),而非完全 disabled,以兼顾安全性与兼容性。

4. 面板端口修改与安全加固

  • 默认端口危险:宝塔默认面板端口为 8888,极易被扫描器攻击。
  • 操作:安装完成后,立即在面板设置中修改面板端口,并设置强密码。
  • IP 白名单:在宝塔面板后台 → 安全 → 添加你的固定 IP 地址为白名单,避免暴露给公网所有用户。

5. PHP 版本选择与扩展兼容性

  • AlmaLinux/Rocky/CentOS Stream 特性:这些发行版对较新版本的 PHP 支持更好,但部分老旧插件可能仅兼容 CentOS 7。
  • 建议:
    • 优先选择 PHP 7.4 或 8.1+,避免使用过时的 PHP 5.6/7.0。
    • 若使用 WordPress,确保安装了 opcache、redis、memcached 等提速扩展。
    • 注意:Alibaba Cloud Linux 3 的 EPEL 源可能不包含某些第三方 PHP 扩展,需通过宝塔面板内的“PHP 扩展”界面一键安装,不要手动 pecl install。

6. Nginx/Apache 服务管理

  • Nginx 是首选:宝塔默认安装 Nginx,性能优于 Apache。
  • 进程守护:确保 bt 服务正在运行。若重启服务器后宝塔面板无法登录,检查 systemctl status bt。
  • 日志排查:若网站 502 Bad Gateway,查看 /www/wwwlogs/ 下的错误日志,常见原因包括 PHP-FPM 未启动、权限不足(属主应为 www:www)。

7. 数据盘挂载与目录规划

  • 默认路径:宝塔默认将所有网站数据放在 /www 目录下。
  • 重要提醒:如果你的云服务器有额外的数据盘(如 /dev/vdb),必须在安装宝塔前完成格式化并挂载到 /www 或其他指定目录。否则,一旦系统盘空间满,会导致整个面板崩溃。
    • 示例:假设数据盘为 /dev/vdb,将其挂载到 /www:
      mkfs.ext4 /dev/vdb
      mkdir /www
      mount /dev/vdb /www
      echo '/dev/vdb /www ext4 defaults 0 0' >> /etc/fstab

8. 阿里云专属优化建议

  • 使用云监控插件:安装宝塔后,建议在阿里云控制台开启“云监控”,以便实时观察 CPU、内存、磁盘 IO 使用情况。
  • 快照备份:在执行任何重大操作(如升级系统、更换 PHP 版本)前,先在阿里云控制台创建系统盘快照。这是最可靠的回滚手段。
  • 内网互通:若你有多台服务器,建议将数据库服务器与应用服务器分离,并通过阿里云内网 IP 连接,提升性能并降低延迟。

总结 Checklist

  1. [ ] 更新系统:dnf update -y
  2. [ ] 关闭 firewalld,启用 iptables
  3. [ ] 设置 SELinux 为 permissive
  4. [ ] 挂载数据盘至 /www(如有)
  5. [ ] 安装宝塔面板(使用官方脚本)
  6. [ ] 修改面板端口,设置 IP 白名单
  7. [ ] 在阿里云安全组中放行相关端口
  8. [ ] 创建系统盘快照

遵循以上步骤,可最大程度避免因环境差异导致的部署失败和安全风险。

未经允许不得转载:CLOUD云枢 » 使用 Alibaba Cloud Linux 3.21.04 部署宝塔面板需要注意哪些问题?