返回

零基础小白从0到1部署next+nest项目到Linux服务器的秘籍

前端

从零开始部署 Next.js + Nest.js 项目到 Linux 服务器

部署一个项目是一项艰巨的任务,尤其对于初学者而言。本指南将详细介绍如何从头开始在 Linux 服务器上部署 Next.js + Nest.js 项目,包括环境设置、代码部署、Nginx 配置、SSL 证书申请、域名解析以及 CI/CD。

环境准备

首先,你需要一台 Linux 服务器,我们推荐使用阿里云或腾讯云。然后,安装以下必要组件:

  • Node.js
  • Docker
  • Nginx
  • PM2

安装步骤可参考:

项目部署

准备好环境后,即可部署项目。首先,打包前端和后端代码为 Docker 镜像:

前端项目:

npm run build

后端项目:

npm run build

然后,将镜像推送到 Docker 镜像仓库。

Nginx 配置

Nginx 用于将请求转发到前端和后端项目:

  1. 打开 nginx.conf(通常位于 /etc/nginx/nginx.conf):
  2. 添加以下配置:
server {
    listen 80;
    server_name www.example.com;

    location / {
        proxy_pass http://localhost:3000;
    }

    location /api {
        proxy_pass http://localhost:8080;
    }
}
  1. 保存并重启 Nginx。

SSL 证书申请

为了确保安全,你需要申请 SSL 证书:

  1. 访问证书颁发机构(如 Let's Encrypt)。
  2. 输入域名并生成证书。
  3. 将证书复制到服务器(/etc/letsencrypt/live/www.example.com)。
  4. 修改 nginx.conf,在 server 块中添加:
ssl_certificate /etc/letsencrypt/live/www.example.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/www.example.com/privkey.pem;
  1. 保存并重启 Nginx。

域名解析

域名解析使域名可以通过 IP 地址访问:

  1. 登录域名注册商(如阿里云或腾讯云)。
  2. 添加一条 A 记录,将 IP 地址设置为服务器 IP 地址。
  3. 保存并等待生效。

CI/CD

CI/CD 实现持续集成和交付:

  1. 选择一个 CI/CD 工具(如 Jenkins、Travis CI、CircleCI)。
  2. 创建项目,配置构建和部署流程。
  3. 将代码推送到代码仓库,触发构建。
  4. 等待构建完成,部署到服务器。

结论

通过遵循这些步骤,你已经从零开始在 Linux 服务器上部署了 Next.js + Nest.js 项目。掌握这些技能将使你能够轻松部署和维护应用程序。

常见问题解答

  • 如何解决 Nginx 502 错误? 检查后端服务器是否正在运行。
  • 如何更新 SSL 证书? 使用证书颁发机构提供的工具重新生成并复制证书。
  • 如何启用 HTTPS? 配置 Nginx 使用 SSL 证书。
  • 如何提高性能? 使用缓存和 CDN 优化前端。
  • 如何监控应用程序? 使用日志和监控工具跟踪应用程序的运行状况。