返回
1254 字
6 分钟
0 次阅读
服务器怎么部署:宝塔面板从装到把 Node 跑起来

我的外呼软件跑在一台服务器上。第一次部署的时候我对着终端输命令,输了半天没跑起来, 后来用了宝塔面板,全是点鼠标,十几分钟就搞定了。

这篇记一下我是怎么弄的。写的是我自己走的流程,不是标准答案, 你按自己的情况调。

为什么用宝塔#

因为它把服务器上那些命令变成了按钮。

要在终端里干的事大概是这些:装 Node、配环境变量、传文件、开防火墙、装进程守护、 看日志。每一样都是一串命令,而且版本不一样命令还不一样, 出错的时候报错信息也看不太懂。

宝塔把这些都做成了图形界面,点「安装」它自己装,点「启动」它自己起。 对不太熟 Linux 的人来说省事很多。

有个前提:宝塔要装在你自己的服务器上。它要 root 权限,装在别人的机器上不合适。

第一步:把宝塔装上#

登进服务器(我用的是网页版终端,你也可以用 SSH 工具), 用官方给的安装脚本跑一遍就行。装的过程会问你确认,按提示输 y。

装完它会打印一段东西,里面有三样要抄下来:

  • 面板地址(一般是 你的IP:8888 这种)
  • 用户名
  • 密码

这三样丢了就得重装,所以赶紧存到备忘录里。

第二步:放行面板端口#

这一步最容易卡住,因为有两层防火墙:

  1. 服务器自己的安全组(在服务器商家那边的控制台改)
  2. 服务器系统里的防火墙(宝塔里叫「安全」)

两层都要放行同一个端口,少一层就打不开面板。

我第一次就是只改了系统防火墙,浏览器一直转圈,查了半天才发现商家的控制台里 还有个安全组没开。

第三步:装 Node 环境#

进面板之后找「软件商店」,搜 Node,装一个你项目需要的版本。

我的项目要求 Node 18 以上,所以装的是 18 的 LTS 版。 装完可以在面板的终端里敲 node -v 确认一下,能出数字就成了。

第四步:把代码传上去#

两种方式:

  • 面板的文件管理:直接拖压缩包上去,然后右键解压。简单,但每次改代码都要重传
  • Git:服务器上拉一次,以后改完本地推上去,服务器上拉一下就行。适合要经常改的

我用的是第二种,因为代码在 GitHub 上,服务器拉一下就有了。

代码放哪:不要放在网站根目录,单独建一个文件夹,比如 /www/wwwroot/你的项目名/。Node 项目不是静态网站,放在网站目录里会被当网页请求。

第五步:建 Node 项目#

面板里找「网站」→「Node 项目」→「添加 Node 项目」:

填什么填成什么
项目目录你的代码文件夹,比如 /www/wwwroot/xxx/
启动文件一般是 app.js 或 src/index.js
端口你的程序里监听的端口,比如 3000
Node 版本刚装的那个
运行用户www

点确定,它就开始跑。跑起来之后状态会显示「运行中」。

关键一点:这里的「端口」必须和代码里 listen(3000) 里的数字一样。 不一样的话项目显示运行中,但外面连不上。

第六步:再放行一次端口#

对,又是防火墙。你程序监听的端口(比如 3000)也要在安全组和系统防火墙两层 都放行,外面才能访问。

嫌麻烦的话可以在面板里配个反向代理,把域名指到 3000 端口, 这样只开 80 和 443 两个口就够了,用户也不用记端口号。

我踩过的三个坑#

一、改了代码要重启。 Node 项目不像静态网页,改完文件刷新一下就行。 Node 是把代码读进内存里跑的,改了必须重启项目。宝塔里点一下「重启」按钮就行, 不用去命令行敲 pm2 restart。

二、数据库文件的权限。 我用的是 SQLite,数据库就是一个文件。 第一版跑起来之后一直报「无法写入」,查了半天是文件权限不对—— 运行用户是 www,但文件是 root 建的。在面板里改一下所有者就好了。

三、内存不够。 我的服务器是 2 核 2G。Node 本身吃不了多少, 但如果你还装了 MySQL、面板本身也占内存,2G 会紧张。 用 SQLite 就不用另起一个数据库进程,省内存。这也是我选它的原因。

最后#

整套下来大概是这样:

服务器 → 装宝塔 → 装 Node → 传代码 → 建 Node 项目 → 放行端口 → 能访问了

真正麻烦的不是某一步,是防火墙有两层这件事。记住这个,能省不少时间。

服务器怎么部署:宝塔面板从装到把 Node 跑起来
https://liyuanjie.com/posts/thirteenth-post/
作者
Liyuanjie
发布于
2026-09-06
许可协议
CC BY-NC-SA 4.0
这篇被看了 0 次