Ubuntu上Node.js项目迁移详细步骤
在开始迁移前,务必备份项目的所有关键数据,避免数据丢失。
tar命令将项目目录打包为压缩文件,例如:tar -czvf project-backup.tar.gz /path/to/your/nodejs/projectmysqldump -u [username] -p [database_name] > database_backup.sqlpg_dump -U [username] -d [database_name] > database_backup.sql.env(环境变量)、Nginx配置文件(若有反向代理)、PM2配置文件(若有进程管理)等。确保新服务器(Ubuntu系统)已安装Node.js、npm及必要依赖。
sudo apt update && sudo apt upgrade -ycurl -fsSL https://deb.nodesource.com/setup_16.x | sudo -E bash -
sudo apt install -y nodejs
安装完成后,验证版本:node -v(应输出v16.x.x)、npm -v(应输出对应版本)。将本地/旧服务器的项目代码传输到新服务器。
scp -r project-backup.tar.gz [username]@[new_server_ip]:/path/to/new/locationtar -xzvf project-backup.tar.gz -C /path/to/new/locationcd /path/to/new/location
git clone https://github.com/your-username/your-repo.git
cd your-repo
进入项目目录,通过package.json安装所有依赖。
cd /path/to/new/location/your-project
npm install
yarn,可先删除yarn.lock文件,再运行npm install生成package-lock.json(确保依赖版本一致)。将旧服务器的数据库备份恢复到新服务器。
mysql -u [username] -p [database_name] < /path/to/database_backup.sqlpsql -U [username] -d [database_name] < /path/to/database_backup.sql.env文件中的DATABASE_URL)是否与新服务器的数据库信息一致。确保新服务器的环境变量与旧服务器一致,避免因配置差异导致应用异常。
.env文件:将旧服务器的.env文件复制到新项目目录,或手动创建并填写必要变量(如NODE_ENV=production、DATABASE_URL等)。ecosystem.config.js)中的项目路径、环境变量等信息。使用进程管理工具(如PM2)启动项目,确保其在后台稳定运行。
sudo npm install -g pm2pm2 start app.js --name "your-project-name"(app.js替换为项目的入口文件,如index.js、server.js)。pm2 status(应显示项目为“online”状态)。pm2 startup(按提示执行生成的命令,确保服务器重启后项目自动启动)。curl访问项目URL(如http://your-server-ip),检查页面加载、接口响应是否正常。pm2 logs your-project-name查看实时日志,定位错误原因。rm project-backup.tar.gz、rm /path/to/database_backup.sql。