温馨提示×

Ubuntu上Node.js项目如何迁移

小樊
49
2025-11-08 13:37:26
栏目: 编程语言

Ubuntu上Node.js项目迁移详细步骤

1. 迁移前准备:备份现有项目与数据

在开始迁移前,务必备份项目的所有关键数据,避免数据丢失。

  • 备份代码:使用tar命令将项目目录打包为压缩文件,例如:
    tar -czvf project-backup.tar.gz /path/to/your/nodejs/project
  • 备份数据库(若项目使用数据库):
    • MySQL:mysqldump -u [username] -p [database_name] > database_backup.sql
    • PostgreSQL:pg_dump -U [username] -d [database_name] > database_backup.sql
  • 备份配置文件:如.env(环境变量)、Nginx配置文件(若有反向代理)、PM2配置文件(若有进程管理)等。

2. 准备新服务器环境

确保新服务器(Ubuntu系统)已安装Node.js、npm及必要依赖。

  • 更新系统包
    sudo apt update && sudo apt upgrade -y
  • 安装Node.js(以Node.js 16.x为例,可根据项目需求调整版本):
    curl -fsSL https://deb.nodesource.com/setup_16.x | sudo -E bash -
    sudo apt install -y nodejs
    
    安装完成后,验证版本:node -v(应输出v16.x.x)、npm -v(应输出对应版本)。

3. 迁移项目代码

将本地/旧服务器的项目代码传输到新服务器。

  • 使用SCP传输(适用于小型项目):
    scp -r project-backup.tar.gz [username]@[new_server_ip]:/path/to/new/location
  • 解压代码
    在新服务器上进入目标目录,执行:
    tar -xzvf project-backup.tar.gz -C /path/to/new/location
  • 或使用Git克隆(若项目托管在Git仓库):
    cd /path/to/new/location
    git clone https://github.com/your-username/your-repo.git
    cd your-repo
    

4. 安装项目依赖

进入项目目录,通过package.json安装所有依赖。

cd /path/to/new/location/your-project
npm install
  • 可选:若项目使用yarn,可先删除yarn.lock文件,再运行npm install生成package-lock.json(确保依赖版本一致)。

5. 迁移数据库(若有)

将旧服务器的数据库备份恢复到新服务器。

  • 恢复MySQL数据库
    mysql -u [username] -p [database_name] < /path/to/database_backup.sql
  • 恢复PostgreSQL数据库
    psql -U [username] -d [database_name] < /path/to/database_backup.sql
  • 验证数据库连接:检查项目中的数据库配置(如.env文件中的DATABASE_URL)是否与新服务器的数据库信息一致。

6. 配置环境变量与启动脚本

确保新服务器的环境变量与旧服务器一致,避免因配置差异导致应用异常。

  • 创建/复制.env文件:将旧服务器的.env文件复制到新项目目录,或手动创建并填写必要变量(如NODE_ENV=productionDATABASE_URL等)。
  • 检查启动脚本:若项目使用PM2管理进程,需更新PM2配置文件(如ecosystem.config.js)中的项目路径、环境变量等信息。

7. 启动项目并验证

使用进程管理工具(如PM2)启动项目,确保其在后台稳定运行。

  • 安装PM2(若未安装):
    sudo npm install -g pm2
  • 启动项目
    pm2 start app.js --name "your-project-name"app.js替换为项目的入口文件,如index.jsserver.js)。
  • 验证状态
    pm2 status(应显示项目为“online”状态)。
  • 设置开机自启动(可选但推荐):
    pm2 startup(按提示执行生成的命令,确保服务器重启后项目自动启动)。

8. 测试与清理

  • 测试应用功能:通过浏览器或curl访问项目URL(如http://your-server-ip),检查页面加载、接口响应是否正常。
  • 查看日志:若出现问题,通过pm2 logs your-project-name查看实时日志,定位错误原因。
  • 清理备份文件:确认迁移成功后,删除旧备份文件以释放空间:
    rm project-backup.tar.gzrm /path/to/database_backup.sql

0