一、 npm run export导出文件上传到CDN
在项目中执行
npm run export后导出outCDN文件上传到CDN
// scripts/upload.js |
二、处理next build后的文件
执行
next build以后,把.next、package.json、server.js、next.config.js、ecosystem.json拷贝到一个文件夹统一管理,最后部署这个文件夹下的内容即可
// scripts/copyFiles.js |
三、pm2之ecosystem部署项目
PM2部署应用流程,通过pm2的配置文件来部署
http://pm2.keymetrics.io/docs/usage/deployment/
3.1 配置部署脚本文件
在项目根目录添加
pm2的部署脚本文件ecosystem.json
{ |
或者简单
scp上传到服务器
scp -P36000 -r deployBuildFiles/.next user_00@192.168.1.201:/home/data/services/goods-prev.yesdat.com/ |
3.2 部署Nginx配置规则
在
nginx安装目录下的vhost中新建一个xx-3000.conf的配置文件
- 在Nginx目录
/etc/nginx下执行sudo /usr/sbin/nginx -t检测配置文件是否成功

upstream goodsapp { // website项目的目录名称 |
更多配置参考 https://github.com/poetries/poetry-configure/blob/master/nginx.conf
3.3 本地项目根执行的命令
pm2 deploy ecosystem.json goodsapp setup初始化pm2 deploy ecosystem.json goodsapp部署
3.4 部署到阿里云
第一步:配置Nginx
查看
Nginx安装路径which nginx注意/etc/nginx和/usr/local/nginx/下的nginx区别
# 切换到Nginx当前目录下 |
一些注意事项
server_name可以是域名,也可以是ip。ip可以是本地,也可以是公网ip
本机ip

公网ip

- 阿里云防火墙规则设置
这里访问了
8080需要在阿里云后台配置一下

第二步:pm2部署到服务器
首先在服务端全局安装
pm2、npmnode并且建立软链
npm i pm2 -g |
重要:请注意:
一定要做建立软链这步,否则出现如下问题


建立
npm软链

建立
node软链

建立
pm2软链

正式部署
- 根目录执行
pm2 deploy deploy-app.json production setup初始化服务端环境 - 根目录执行
pm2 deploy deploy-app.json production --force输入服务端用户root密码,部署即可
来到
/home/production目录查看上传的文件
{ |
pm2 list查看启动的项目

pm2 logs查看启动日志

然后在浏览器访问
http://39.108.74.36:8080(http://公网ip:端口)即可看到,到此部署结束