宝塔面板部署nestjs项目

最近在用Nestjs写接口,顺便在服务器上部署了一下,以下是步骤。

版本说明

1
2
3
4
5
{
宝塔面板: "7.5.2",
Ubuntu: "18.04.4",
pm2: "5.2"
}

打包

1
yarn build

上传文件

打包完成后会生成dist文件夹,将dist文件夹及package.json文件一同上传到/www/wwwroot路径下任意空文件夹。

例:

1
2
3
4
5
www
wwwroot
nestjs
dist
package.json

在该文件夹下打开终端,输入 yarn 或者 npm i 命令下载模块。nestjs打包不会包含node_modules中的文件,所以要手动下载。

dist/tsconfig.build.tsbuildinfo 文件保存了node_modules的路径,注意如果路径不正确将无法运行。

配置pm2

打开PM2,添加项目

启动文件设置为 /www/wwwroot/[yourpath]/dist/main.js

运行目录设置为 /www/wwwroot/[yourpath]

例:

我的文件放在目录 /www/wwwroot/nestjs 文件夹下,那么我的启动文件路径为 /www/wwwroot/nestjs/dist/main.js,运行目录为 /www/wwwroot/nestjs

你也可以直接将dist文件夹下的内容放在项目根目录,当然可能需要修改一下部分文件。比如 tsconfig.build.tsbuildinfo 文件中node_modules的路径。

其他部分可自行设置。

添加项目后回到项目列表,点击映射,为当前项目设置域名,接下来PM2会自动创建一个新的站点。

最后注意端口是否存在限制,到此配置基本完成,打开浏览器输入设置的域名或者使用postman输入接口地址即可查看。