返回
零基础小白从0到1部署next+nest项目到Linux服务器的秘籍
前端
2023-09-30 15:59:54
从零开始部署 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 用于将请求转发到前端和后端项目:
- 打开 nginx.conf(通常位于 /etc/nginx/nginx.conf):
- 添加以下配置:
server {
listen 80;
server_name www.example.com;
location / {
proxy_pass http://localhost:3000;
}
location /api {
proxy_pass http://localhost:8080;
}
}
- 保存并重启 Nginx。
SSL 证书申请
为了确保安全,你需要申请 SSL 证书:
- 访问证书颁发机构(如 Let's Encrypt)。
- 输入域名并生成证书。
- 将证书复制到服务器(/etc/letsencrypt/live/www.example.com)。
- 修改 nginx.conf,在 server 块中添加:
ssl_certificate /etc/letsencrypt/live/www.example.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/www.example.com/privkey.pem;
- 保存并重启 Nginx。
域名解析
域名解析使域名可以通过 IP 地址访问:
- 登录域名注册商(如阿里云或腾讯云)。
- 添加一条 A 记录,将 IP 地址设置为服务器 IP 地址。
- 保存并等待生效。
CI/CD
CI/CD 实现持续集成和交付:
- 选择一个 CI/CD 工具(如 Jenkins、Travis CI、CircleCI)。
- 创建项目,配置构建和部署流程。
- 将代码推送到代码仓库,触发构建。
- 等待构建完成,部署到服务器。
结论
通过遵循这些步骤,你已经从零开始在 Linux 服务器上部署了 Next.js + Nest.js 项目。掌握这些技能将使你能够轻松部署和维护应用程序。
常见问题解答
- 如何解决 Nginx 502 错误? 检查后端服务器是否正在运行。
- 如何更新 SSL 证书? 使用证书颁发机构提供的工具重新生成并复制证书。
- 如何启用 HTTPS? 配置 Nginx 使用 SSL 证书。
- 如何提高性能? 使用缓存和 CDN 优化前端。
- 如何监控应用程序? 使用日志和监控工具跟踪应用程序的运行状况。