心莫急,马上来咯🫵
Feb 06, 2025
本文采用PM2管理服务器进程实现部署,为一种方案选择,更推荐Docker容器化部署,降低服务器负担,参考可见👉:Github Actions 自动部署博客前后端记录
bashsudo apt update && sudo apt upgrade -y
sudo apt install -y nodejs npm
验证安装:
node -v && npm -v
npm install -g pnpm
验证安装:
pnpm -v
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.4/install.sh | bash
环境生效:
source ~/.bashrc # 或重新打开终端
sudo apt install -y docker-compose-plugin
验证安装:
docker compose version
npm install -g pm2
验证安装:
pm2 -v
sh# 最新安装命令请参考官方文档: curl -sSL https://resource.fit2cloud.com/1panel/package/quick_start.sh -o quick_start.sh && sudo bash quick_start.sh
访问地址:http://your-server-ip:26734/fc7d79b321
shpnpm run build
将生成的 /dist
目录与 package.json
上传至服务器同级目录
shpnpm install
docker-compose.yml
示例:
yamlversion: "3.8" services: mysql: image: mysql:8 command: --default-authentication-plugin=mysql_native_password restart: unless-stopped environment: MYSQL_ROOT_PASSWORD: your_secure_password MYSQL_DATABASE: app_db ports: - 3307:3306 volumes: - mysql_data:/var/lib/mysql adminer: image: adminer restart: unless-stopped ports: - 9090:8080 volumes: mysql_data:
服务启动:
shdocker compose up -d
shnpm install cross-env -g pm2 start --name NestApp "cross-env NODE_ENV=production node dist/src/main"
进程管理命令:
功能 | 命令 |
---|---|
查看进程列表 | pm2 list |
查看日志 | pm2 logs NestApp |
重启应用 | pm2 restart NestApp |
停止应用 | pm2 stop NestApp |
删除应用 | pm2 delete NestApp |
pm2 save
持久化进程列表场景:部署上线后,数据库更新,服务端组件接口获取的数据不会动态更新,同接口在客户端组件可以正常获取,推测为服务端组件问题
处理方法:数据库更新后重新部署下Next前端