使用nestjs编写的博客后端程序,系统架构如下
由于prisma需要读取不同环境配置文件,需要额外安装dotenv-cli
$ npm install -g dotenv-cli
$ npm install
$ npm run start:dev
$ npm run prisma:dev
-
安装dotenv读取配置文件,执行
npm install -g dotenv-cli
,将dotenv配置为全局命令ln -s /opt/nodejs/node-v20.18.1-linux-x64/bin/dotenv /usr/bin/dotenv
-
排除 dist、node_modules、.git、.vscode ,其他文件压缩为tar并上传
-
在服务器上解压tar文件
-
修改.env.production文件中的数据库用户名、密码、端口号、库名
-
安装依赖,执行
npm install
-
打包最终产物,执行
npm run prisma:prod
-
导入数据到数据库(如果有存量数据)
-
编写启动脚本 pm2start.json
{ "apps": [ { "name": "blog_nest_backend", "script": "dist/main.js", "autorestart": true, "watch": false, "env": { "NODE_ENV": "production" } } ] }
-
pm2运行,执行
pm2 start pm2start.json
Nest is MIT licensed.