原先部署的项目如何转到宝塔?

将原先部署的项目迁移到宝塔面板(BT Panel)是一个常见的运维需求。以下是详细的迁移步骤,适用于常见的 Web 项目(如 PHP、Node.js、Python、Java 等),以确保项目在宝塔环境中正常运行。


一、准备工作

  1. 确认服务器环境

    • 安装宝塔面板(如未安装):

      # CentOS
      yum install -y wget && wget -O install.sh http://download.bt.cn/install/install_6.0.sh && sh install.sh
      
      # Ubuntu/Debian
      wget -O install.sh http://download.bt.cn/install/install-ubuntu_6.0.sh && sudo bash install.sh
    • 登录宝塔面板后台(默认端口 8888)。
  2. 备份原项目数据

    • 备份代码文件、数据库、配置文件、SSL 证书等。
    • 常见路径:
      • 代码:/var/www/html/home/wwwroot
      • 数据库:使用 mysqldump 导出 SQL 文件
      • 配置文件:Nginx/Apache 配置、.envconfig.php
  3. 记录原环境配置

    • PHP 版本、MySQL 版本、Nginx/Apache 配置、端口、伪静态规则等。

二、在宝塔中部署项目

1. 添加网站

  • 进入宝塔 → 网站 → 添加站点
    • 域名:填写你的域名(可多个)
    • 根目录:选择或创建目录(如 /www/wwwroot/your-site.com
    • PHP 版本:选择与原项目兼容的版本(如 PHP 7.4)
    • 数据库:勾选“创建数据库”,填写数据库名、用户名、密码

2. 上传或迁移代码

  • 方式一:通过宝塔文件管理上传

    • 进入“文件”模块,进入网站根目录
    • 删除默认文件,上传你的项目代码(支持 ZIP 上传并解压)
  • 方式二:通过命令行(推荐)

    cd /www/wwwroot/your-site.com
    # 使用 scp/rsync/git 等方式上传代码
    git clone https://your-repo.git .

3. 恢复数据库

  • 进入宝塔 → 数据库 → 找到对应数据库 → 管理
  • 使用“导入”功能上传 .sql 文件
  • 或通过命令行:
    mysql -u用户名 -p 数据库名 < backup.sql

4. 配置项目环境

  • PHP 项目
    • 检查 config.php.env 文件中的数据库连接信息
    • 确保宝塔中 PHP 版本和扩展(如 mysqli、pdo、curl)已开启
  • Node.js 项目
    • 使用宝塔的“PM2 管理器”或手动部署
    • 设置反向指向 Node 服务端口(如 3000)
  • Python 项目(如 Django/Flask)
    • 使用宝塔的“Python 项目”功能或手动部署
    • 配置 Gunicorn + Nginx 反向

5. 配置网站设置

  • 进入网站 → 设置
    • 伪静态:根据项目框架选择或自定义(如 ThinkPHP、Laravel、WordPress)
    • SSL:申请 Let’s Encrypt 证书并启用 HTTPS
    • 反向:用于 Node.js、Java(Tomcat)等后端服务
    • 默认文档:确保 index.phpindex.html 等在首位

6. 域名与 DNS

  • 确保域名 DNS 已解析到服务器 IP
  • 在宝塔中正确填写域名(包括 www 和非 www 版本)

三、权限与安全设置

  • 设置网站运行目录权限:
    chown -R www:www /www/wwwroot/your-site.com
    chmod -R 755 /www/wwwroot/your-site.com
  • 对于可写目录(如 runtimeuploads),设置 755 或 777(谨慎)
  • 在宝塔“安全”中放行必要端口(如 80、443、项目端口)

四、测试与验证

  1. 访问域名,检查是否正常加载
  2. 登录后台、测试数据库连接
  3. 检查静态资源(CSS/JS)是否加载
  4. 查看 Nginx/Apache 错误日志(宝塔 → 网站 → 日志)

五、可选优化

  • 开启缓存(如 OPcache、Redis)
  • 配置定时备份(宝塔计划任务)
  • 使用宝塔的“网站监控”功能

示例:迁移一个 Laravel 项目

  1. 创建网站,PHP 7.4,创建数据库
  2. 上传代码到根目录
  3. 修改 .env 文件中的数据库配置
  4. 运行命令(通过宝塔终端):
    cd /www/wwwroot/your-site.com
    composer install
    php artisan key:generate
    php artisan config:cache
  5. 设置伪静态:
    location / {
       try_files $uri $uri/ /index.php?$query_string;
    }
  6. 设置运行目录为 public

注意事项

  • 宝塔默认使用 www 用户运行网站,注意文件权限
  • 某些项目需要开启函数(如 execshell_exec),可在 PHP 设置中配置
  • 如原项目使用 Apache,宝塔也支持切换为 Apache 环境

完成以上步骤后,你的项目就成功迁移到宝塔面板了。如有具体项目类型(如 WordPress、Vue + Node、Django),可提供细节,我可以给出更具体的迁移方案。

未经允许不得转载:ECLOUD博客 » 原先部署的项目如何转到宝塔?