Nestjs项目打包发布

1,226 阅读3分钟

在服务器上部署一个 NestJS 项目,通常包括以下步骤:git clone 拉取项目代码,安装依赖,打包项目,启动服务,并确保它在后台运行。以下是详细的操作步骤,基于常见的 Linux 服务器环境(例如 Ubuntu)。

1. 安装 Node.js 和 npm(如果未安装)

确保服务器上已安装了 Node.js 和 npm。以下是安装 Node.js 的步骤(使用 NodeSource):

# 更新系统包
sudo apt update

# 安装 Node.js 和 npm(这里使用 18.x 版本)
curl -fsSL https://deb.nodesource.com/setup_18.x | sudo -E bash -
sudo apt-get install -y nodejs

检查是否成功安装:

node -v
npm -v

2. 使用 git clone 获取 NestJS 项目

在服务器上,使用 git clone 克隆你的项目代码:

git clone https://github.com/yourusername/your-nestjs-repo.git

进入项目目录:

cd your-nestjs-repo

3. 安装项目依赖

NestJS 项目依赖于 Node.js 的包管理器 npmyarn。你可以通过以下命令安装项目所需的依赖:

npm install

如果你使用 yarn,则使用:

yarn install

4. 设置环境变量

NestJS 项目通常使用 .env 文件存储环境变量。在服务器上创建 .env 文件并添加必要的配置。

touch .env

.env 文件中添加内容,例如:

DATABASE_URL=mongodb://localhost:27017/yourdb
PORT=3000
JWT_SECRET=your_secret_key

确保 .env 文件包含你项目所需的所有环境变量。

5. 构建 NestJS 项目

NestJS 项目通常需要通过 npm run build 命令将 TypeScript 编译为 JavaScript。

npm run build

这会在项目的 dist 目录下生成编译后的文件。

6. 启动 NestJS 应用程序

使用以下命令启动编译后的 NestJS 应用程序:

npm run start:prod

或者,使用直接运行命令:

node dist/main.js

7. 使用 PM2 管理 NestJS 应用程序(可选)

为了确保 NestJS 应用程序在服务器重启后能够自动启动,或者在崩溃时自动重启,建议使用 PM2 进程管理器。

安装 PM2

npm install -g pm2

使用 PM2 启动 NestJS 应用:

pm2 start dist/main.js --name "nestjs-app"

你可以查看 PM2 状态:

pm2 status

确保应用程序在服务器重启时自动重启:

pm2 startup
pm2 save

8. 设置反向代理(使用 Nginx)

如果你希望通过域名(例如 your-domain.com)来访问 NestJS 应用程序,可以使用 nginx 作为反向代理。首先安装 nginx

sudo apt install nginx

编辑 Nginx 配置文件,指向 NestJS 应用运行的端口(默认为 3000):

sudo nano /etc/nginx/sites-available/default

在文件中添加如下配置:

server {
    listen 80;
    server_name your-domain.com;

    location / {
        proxy_pass http://localhost:3000;
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection 'upgrade';
        proxy_set_header Host $host;
        proxy_cache_bypass $http_upgrade;
    }
}

保存并退出后,测试 nginx 配置:

sudo nginx -t

如果配置没有问题,重新加载 nginx

sudo systemctl reload nginx

9. 验证应用程序

此时,你应该可以通过服务器的 IP 地址或绑定的域名访问 NestJS 应用。例如:

http://your-domain.com

总结

  1. 安装 Node.js 和 npm。
  2. 使用 git clone 拉取项目代码。
  3. 安装依赖并设置环境变量。
  4. 编译项目并启动。
  5. 使用 PM2 管理应用的进程(可选)。
  6. 配置 nginx 作为反向代理(可选)。

通过这些步骤,你可以成功在服务器上部署并运行你的 NestJS 项目。