部署 Node 生产项目
- 陈大剩
- 2025-05-05 22:32:46
- 70
背景
最近,BOSS 让我搭建一下几个开源 AI 平台,因为之前没有搭过 Node 项目,顺带记录一下,防止以后踩坑,也是对自己知识点的一个补充吧,也顺带给各位网友复习一下。
部署步骤
安装宝塔面板
一般应用于生产环境的的服务器都是安装的不带桌面的版本 linux 系统,面对着黑乎乎的命令行窗口,即便是稍微熟悉点的童鞋管理服务器也会觉得繁琐,这时候可以通过界面代替命令行来操作服务器;
宝塔 就是这样一款国产的免费的面板,要使用宝塔面板首先需要开启端口。
腾讯云:https://www.bt.cn/bbs/thread-1229-1-1.html(opens new window)
阿里云:https://www.bt.cn/bbs/thread-2897-1-1.html(opens new window)
华为云:https://www.bt.cn/bbs/thread-3923-1-1.html(opens new window)
然后执行下面的命令即可:
yum install -y wget && wget -O install.sh http://download.bt.cn/install/install.sh && sh install.sh
中途如果询问 Do you want to install Bt-Panel to the /www directory now?(y/n): 输入 y 回车即可。
安装成功后会有登录链接账号以及密码,浏览器里打开链接输入账号密码登录(中间有 SSL 证书验证问题,选择信任即可),记住先不要做任何操作。
安装 Node.js 管理器
部署 Node 项目,当然离不开安装 Node,宝塔面板中 Node 管理形式是可以多版本并存的,所以我们可以先安装 ”Node 版本管理器“,安装 ”Node 版本管理器“ 如下:
- 点击应用商店;
- 应用搜索为 “node”;
- 点击安装;
安装指定的 Node 版本
安装好 ”Node 版本管理器“ 后需要安装 Node,安装 Node 如下:
- 先需要更新 Node 列表,才能获取 Node 所有版本;
- 然后选择稳定的版本(随机选择一个就行);
- 选择后点击安装;
安装完成后需要查看 Module 中(yarn、npm、pm2
)是否安装,如下:
- 点击模块;
- 查看
yarn、npm、pm2
是否有安装;
上传项目至服务器
如果是部署开源项目,可以到 GitHub 中通过 Git 方式下载项目。
git clone https://github.com/SoraWebui/SoraWebui.git
注意:请使用 HTTPS 协议克隆,SSH 协议需要登入。
等待下载:
安装 Node 依赖
进入项目后,可以先查看项目下 package.json
,看看有默认携带什么参数,比如这里带了 --port 80
,这几个地方可以先记住,后面可能会用到。
"scripts": {
"dev": "next dev --port 80",
"build": "next build",
"start": "next start"
},
在package.json
文件中,scripts
字段用于定义一系列可以通过 npm
或 yarn
运行的脚本命令。以下是对这个 scripts
部分中各个命令的详细解释:
next dev
:这是 Next.js 提供的一个开发服务器启动命令。当你运行这个命令时,Next.js 会启动一个开发服务器,该服务器会监听文件的变化,并在文件发生改变时自动重新编译和刷新页面,方便开发人员进行开发和调试;next build
:Next.js 会对应用进行编译和优化,将代码打包成生产环境可用的静态文件和服务器端代码。这个过程会进行代码的压缩、优化、树摇(Tree Shaking)等操作,以提高应用的性能和加载速度;next start
:在运行这个命令之前,需要先执行next build
命令进行构建。next start
会启动一个生产环境的服务器,该服务器会使用next build
生成的文件来提供服务。生产环境的服务器通常会有更好的性能和稳定性,适合在生产环境中部署和运行;
克隆成功后需要安装相应的 Node 依赖,可以针对环境用不同的环境变量,.env.production
用于生成环境,.env.loacl
用于开发环境。
并填好相应的值
本地开发
如果你只想简单的本地调试并开发,可直接 yarn dev
,不出意外不会成功,因为还没有安装 node 模块。
安装 node 模块直接 yarn
即可,等待安装就行。
注意:如果不是国外服务器,yarn 或 npm 请修改为国内镜像。
再运行yarn dev
发现还是没有成功,这是因为装了 Nginx
等软件,已经占用了 80 端口,那需要换端口。
跳去之前的目录上 安装 Node 依赖,修改之前的 80 端口为 8080,再执行 yarn dev
;
不出意外浏览器就访问了
curl
也能访问了
部署为生产项目
部署为生产项目,需要先 build
构建好。
稍微等待至 Done
即处理成功,然后可以用 Nginx
做反向代理,Nginx
按照之前 [安装 Node.js](#安装 Node.js 管理器) 一样安装就行。
Nginx 反向代理
Nginx 反向代理好处应该不要多说吧?宝塔中 Nginx 反向代理操作如下:
- 选择网站;
- 选择 Node 项目;
- 添加 Node 项目;
- 按照标题填好相应的内容即可;
- 目前选择我们之前下载的;
- 名称按照自己的意愿来;
- 运行选项一般选 start(生产);
- 端口生产默认为 3000;
- 域名填好就行;
外网访问
不出意外就能访问啦,开启你的部署之旅吧。
总结
刚开始接到老板需求的时候,我以为会遇到很多坑(对陌生领域的抗拒),具体实践下来比想象中的简单不少。总体来说,通过宝塔,有一点点基础就能部署 Node 项目,应该好好感谢宝塔,让新手不再苦难。