【容器化】如何用宝塔 Linux 部署 Nest.js + Next.js 项目

  • 前端: Next.js
  • 后端: NestJS
  • 数据库: MongoDB

在阿里云上面买了个【轻量应用服务器】,镜像选的【宝塔 Linux】 面板

【轻量应用服务器】 VS 【云服务器 ECS】

【配置信息】 选了个低配版的

接着可以去控制台面板

第一次登录面板需要用户名和密码

之后可以进去【宝塔 Liunx】 面板部署项目了

前端是 Next.js 项目, 后端是 Nest.js, 所以部署的时候都需要选择 Node 项目

1、在软件应用商店安装 Liux、Node、Nginx、MongoDB, 本项目差不多用的应用是这些

2、安装 git 和 pnpm

复制代码
sudo yum install git 

npm install pnpm -g

注: yum 和 brew 的作用一样

3、 进入终端,跑到项目更目录下(/www/wwwroot),git clone + 项目地址

4、 部署后端 Nest.js

  • 在文件下面,将环境变量 .env 文件上传到 项目根目录下面
  • cd 到项目根目录下面,运行 pnpm build
  • 连接 MonogoDB,我用的是远程数据库连接
  • 新建网站,添加 Node 项目,配置如下

5、 部署前端 Next.js

Next.js 是个全栈框架,但我只用它做了 SSR ,连接数据库那些操作放在了后端 Nest.js。所以新建网站的时候,必须得选 Node 项目

具体配置如下

这样通过服务地址+端口就可以访问饿了

6、 配置反向代理

将 80 -> 3000( 前端访问端口)

7、 注意事项

  • 如果碰到端口不能访问,需要在服务器的防火墙打开端口限制
相关推荐
若云止水6 小时前
ngx_conf_handler - root html
服务器·前端·算法
佚明zj6 小时前
【C++】内存模型分析
开发语言·前端·javascript
知否技术7 小时前
ES6 都用 3 年了,2024 新特性你敢不看?
前端·javascript
最初@8 小时前
el-table + el-pagination 前端实现分页操作
前端·javascript·vue.js·ajax·html
知否技术9 小时前
JavaScript中的闭包真的过时了?其实Vue和React中都有用到!
前端·javascript
Bruce_Liuxiaowei9 小时前
基于Flask的防火墙知识库Web应用技术解析
前端·python·flask
zhu_zhu_xia9 小时前
vue3中ref和reactive的差异分析
前端·javascript·vue.js
拉不动的猪9 小时前
刷刷题45 (白嫖xxx面试题1)
前端·javascript·面试
幼儿园技术家9 小时前
使用SPA单页面跟MPA多页面的优缺点?
前端
还是鼠鼠9 小时前
认识 Express.js:Node.js 最流行的 Web 框架
开发语言·前端·javascript·vscode·node.js·json·express