【容器化】如何用宝塔 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、 注意事项

  • 如果碰到端口不能访问,需要在服务器的防火墙打开端口限制
相关推荐
hashiqimiya1 小时前
两个步骤,打包war,tomcat使用war包
java·服务器·前端
零度@2 小时前
Java中Map的多种用法
java·前端·python
yuanyxh2 小时前
静默打印程序实现
前端·react.js·electron
三十_A3 小时前
如何正确实现圆角渐变边框?为什么 border-radius 对 border-image 不生效?
前端·css·css3
小满zs4 小时前
Next.js第十三章(缓存组件)
前端
前端老宋Running4 小时前
“受控组件”的诅咒:为什么你需要 React Hook Form + Zod 来拯救你的键盘?
前端·javascript·react.js
风止何安啊4 小时前
拿捏 React 组件通讯:从父子到跨组件的「传功秘籍」
前端·react.js·面试
懒得不想起名字4 小时前
将flutter打成aar包嵌入到安卓
前端
Highcharts.js4 小时前
官方文档|Angular 框架集成 Highcharts Dashboards
前端·javascript·angular.js·highcharts·看板·使用文档·dashboards
韭菜炒大葱5 小时前
React 新手村通关指南:状态、组件与魔法 UI 🧙‍♂️
前端·javascript·react.js