加油
努力

服务器上有多个项目时,安装宝塔面板需要注意什么?

在服务器上已存在多个项目时安装宝塔面板,需特别注意以下关键事项,以避免影响现有服务、数据丢失或配置冲突:

✅ 一、安装前的必备检查与准备

  1. 确认系统兼容性与环境

    • ✅ 仅支持纯净的 CentOS 7–9 / Ubuntu 20.04–24.04 / Debian 10–12(推荐使用官方推荐版本,如 CentOS 7.9 或 Ubuntu 22.04 LTS)
    • ❌ 禁止在已安装其他面板(如 AMH、WDCP、OneinStack、LNMP.org 脚本等)或手动深度定制环境(如自编译 Nginx/Apache、修改过 systemd 服务模板)上直接安装——极易导致端口/进程/配置冲突。
    • 🔍 检查是否已有 Web 服务运行:
      ss -tuln | grep ':80|:443|:888|:8080'
      systemctl list-units --type=service --state=running | grep -E 'nginx|httpd|apache|php-fpm|mysql|mysqld|postgresql'

      nginx/apache/mysql 等正在运行,必须先停止并备份其配置与数据(见下文)。

  2. 备份现有项目与环境(重中之重!)

    • 📁 备份全部网站根目录(如 /var/www, /home/wwwroot, /srv/www 等)
      tar -czf /backup/wwwroot_$(date +%F).tar.gz /var/www /home/wwwroot 2>/dev/null || echo "跳过不存在目录"
    • 💾 备份数据库(MySQL/MariaDB/PostgreSQL):
      mysqldump --all-databases --single-transaction > /backup/mysql_all_$(date +%F).sql
      # 或按库导出更安全(尤其生产环境)
    • ⚙️ 备份关键配置文件:
      • Nginx/Apache 配置(/etc/nginx/conf.d/, /etc/httpd/conf.d/, /etc/apache2/sites-enabled/
      • PHP 配置(/etc/php/*/fpm/php.ini, /etc/php/*/cli/php.ini
      • MySQL 配置(/etc/my.cnf/etc/mysql/my.cnf
      • SSL 证书(/etc/letsencrypt/, /usr/local/nginx/conf/ssl/ 等)
  3. 检查端口占用(宝塔默认端口)

    • 宝塔默认使用:8888(面板)、888(PHP 管理)、80/443(网站)、3306(MySQL)、21(FTP)、22(SSH 已用,不影响)
    • 若现有服务占用了 8888、888 或 80/443,请提前规划:
      • ✅ 方案A:安装时指定非默认端口(安装后不可改面板端口,但可改网站端口)
        wget -O install.sh https://download.bt.cn/install/install-ubuntu_6.0.sh && sudo bash install.sh 8889
      • ✅ 方案B:临时停用原有 Web 服务(确保有备份且能快速恢复)

✅ 二、安装过程中的关键操作

  1. 选择「不安装推荐环境」或「自定义安装」

    • 宝塔安装脚本默认会安装 LNMP/LAMP 环境(Nginx + MySQL + PHP),这将覆盖或冲突你现有的 Web/DB 服务!
    • ✅ 正确做法:
      • 安装时选择 「不安装任何服务」(即仅安装面板核心,不装 Nginx/MySQL/PHP);
      • 或选择「自定义安装」,取消勾选所有运行环境组件
      • 安装完成后,在面板【软件商店】中手动添加已存在的服务(见下文)。
  2. 禁止让宝塔初始化数据库/用户

    • 宝塔首次启动会尝试创建 root@localhost 用户并设密码,可能覆盖你原有的 MySQL root 密码或权限。
    • ✅ 应对:安装后首次登录面板时,跳过数据库初始化向导(点击右上角“跳过”或关闭弹窗),后续通过【数据库】→【添加数据库】→【使用现有 MySQL】方式对接。

✅ 三、安装后的必要配置(无缝迁移现有项目)

  1. 对接现有 Web 服务(推荐方式)

    • 【网站】→ 【添加站点】→ 填写域名 → 取消勾选「FTP」「PHP 版本」「SSL」(避免自动创建)→ 提交;
    • 进入该站点设置 → 【配置文件】→ 替换为你的原 Nginx/Apache 配置(或点击「重载配置」同步);
    • 【反向X_X】或【伪静态】按需配置;
    • ✅ 优势:宝塔仅做管理界面,不接管进程,原有服务照常运行。
  2. 对接现有数据库

    • 【数据库】→ 【添加数据库】→ 类型选「MySQL」→ 主机填 127.0.0.1 → 端口 3306 → 输入你原有的 root 密码 → 测试连接成功后保存;
    • 后续可在面板中管理库/用户/备份,不重启 MySQL 服务
  3. 导入现有 PHP 项目

    • 将项目文件放入宝塔默认网站目录(如 /www/wwwroot/your-domain.com)或自定义路径;
    • 在站点设置 → 【PHP 版本】中选择对应 PHP(若未安装,去【软件商店】安装所需 PHP 版本,勿删原有 php-fpm 服务);
    • 如需共存多个 PHP 版本,可在【软件商店】安装多个 PHP,并在站点中单独指定。
  4. SSL 证书迁移

    • 【网站】→ 选择站点 → 【SSL】→ 【其他证书】→ 粘贴你的 fullchain.pemprivkey.pem 内容;
    • 或将证书文件上传至 /www/server/panel/vhost/cert/your-domain.com/,再在面板中启用。

⚠️ 四、高风险行为绝对禁止

  • ❌ 不要点击【一键部署】或【LNMP 一键安装】(会强制覆盖你的环境);
  • ❌ 不要执行「修复环境」、「重装软件」等面板内危险操作;
  • ❌ 不要在【安全】中盲目放行/禁用端口,尤其影响现有业务端口(如 Redis 6379、MongoDB 27017);
  • ❌ 不要删除 /www 目录外的任意系统目录(如 /var/www 若是你的项目根目录,需在宝塔中统一指向它)。

✅ 五、最佳实践建议

  • 🧩 推荐采用「宝塔仅作可视化管理器」模式:所有服务(Nginx/MySQL/PHP)保持手动安装+配置,宝塔只管站点、日志、监控、备份;
  • 🔄 生产环境建议先在测试机模拟全流程(含备份→安装→对接→验证);
  • 📜 记录所有变更:修改了哪些配置、服务监听在哪、数据库账号密码等,形成运维文档;
  • 🔐 安装后立即修改宝塔面板密码、绑定 IP 白名单、开启防火墙(宝塔【安全】→ 开启防火墙并放行 8888 等必需端口)。

📌 总结一句话:

“宝塔不是必须替代你的环境,而是为你已有的环境提供图形化管理。安装的核心原则是:不碰现有服务、只增管理能力、一切操作前必备份。”

如需,我可为你提供:

  • 一份完整的「迁移检查清单」(PDF/Markdown 格式)
  • 宝塔对接 Nginx + MySQL + PHP-FPM 的详细图文配置步骤
  • 自动化备份脚本(含数据库+网站+配置三合一)

欢迎随时告知你的当前环境(如:Ubuntu 22.04 + Nginx 1.22 + MySQL 8.0 + PHP 8.1),我可以给出针对性方案。

云服务器