1. 为什么用 1Panel 来做这套部署
先说结论:这套 Node+MongoDB+Nginx 的组合,放在 1Panel 里跑,比纯命令行手撸省心得多,也比某些老牌面板更清爽,关键是它把 Docker、数据库、网站管理揉在一起,日常维护成本能压到很低。
我在正式切换到 1Panel 之前,一直是 SSH 上去手动装 Node、配 Nginx、再搞 MongoDB,偶尔还得处理系统升级把服务搞挂的糟心事。后来项目多了,一台机器上要同时跑前端静态资源、后端 API、数据库,还要管理 SSL 证书和反向代理,手动维护的复杂度就上来了。1Panel 的出现正好补上这块:它有应用商店,Node、MongoDB、Nginx(实际是 OpenResty)都可以一键安装;有网站管理,反向代理、SSL 证书、静态站点都能在网页上完成;有数据库管理,MongoDB 可以创建库、创建用户、查看日志,基本不需要频繁登容器。
适合谁来参考?如果你手头有个 Node 项目要上线,数据库选的是 MongoDB,Web 层想用 Nginx 扛静态资源和反向代理,而且你不想在一堆命令行里反复折腾,这篇流程可以直接照着抄。已经熟悉 1Panel 的老手,也可以重点看后面的避坑章节,里面好几点是文档里不会写清楚的。
有两个点我先提前说明白:第一,1Panel 并不是把服务直接装在宿主机上,而是通过 Docker 容器跑,所以理解容器和端口映射是基础前提;第二,面板本身提供了入口,但很多细节优化还是得靠手动改配置,这篇会把这些手动部分全部标注出来。
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. 部署前准备:1Panel 安装与面板设置
2.1 服务器环境要求与安装
1Panel 对配置要求不算高,常规云服务器 1 核 2G 就能带起来,但如果你要跑 MongoDB 并且数据量不小,建议至少 2 核 4G。系统方面支持 CentOS、Ubuntu、Debian 等主流 Linux 发行版,我用的是 Ubuntu 22.04,整体兼容性很好。
安装方式很简单,官方提供了快捷安装脚本,SSH 登录服务器后执行:
bash复制curl -sSL https://resource.fit2cloud.com/1panel/package/quick_start.sh -o quick_start.sh
sudo bash quick_start.sh
脚本运行过程中会让你选安装目录、面板端口、安全入口等,这些建议按默认走,但安装目录如果打算长期使用,最好放在数据盘,比如 /opt 或 /data,避免系统盘写满影响服务。安装完成后,命令行会输出面板访问地址、用户名、密码,记得先保存好。
安装完成后第一件事是登录面板,改掉默认密码,开启两步验证。这个环节不要跳过,面板一旦暴露在公网,弱密码很容易被扫描器盯上。
2.2 面板服务器地址必须设置
这个点很多人会忽略,也是热词里反复出现的问题:部署完成后,如果你直接在应用商店里安装应用,可能会看到类似“当前未设置服务器地址,请先在面板设置中设置”的提示。
原因很简单:面板需要知道你的服务器对外地址,才能正确生成访问链接和配置一些自动化的域名解析。有些环境会自动识别公网 IP,但如果服务器在 NAT 后面,或者你用的是内网 IP 登录的面板,它识别不到正确地址,就会报这个提示。
解决办法:进入面板的“面板设置”,找到“服务器地址”一栏,填写服务器的公网 IP 或你准备绑定的域名。如果暂时没有域名,可以先填 IP,之后绑定域名时再改。这一步不做,应用商店里某些依赖域名解析的组件就可能出问题。
2.3 防火墙端口规划
1Panel 安装后默认要放行面板端口(默认 19810 左右,按实际安装时选择的来)、80 和 443(后面 Nginx 要用)。MongoDB 默认端口 27017 如果要被本机服务访问,一般不需要对公网开放,建议只开放给内网或特定 IP。
端口规划上我踩过一次坑:早期直接把 27017 公网暴露,结果被扫描工具爆破,数据库差点被删。后来我统一原则是:数据库端口一律不映射公网,面板端口只对管理员 IP 开放,80/443 才让公网访问。安全组和云服务商防火墙两边都要配,单改一边经常导致端口不通。
3. Node 环境安装与 npm 全局配置
3.1 在 1Panel 里装 Node:版本选择和安装路径
1Panel 应用商店里可以直接安装 Node 运行环境。需要说明的是,它提供的是 Node 版本管理能力,不是单纯装一个固定版本,所以我们可以在不同项目之间切换 Node 版本,很方便。
安装过程:打开应用商店,搜索“Node”,点击安装。安装前确认好版本号,建议直接选 20 以上的 LTS 版本,比如 20.x 或 22.x。我在生产环境用的是 22.19,稳定性和兼容性都没问题,一些新语法特性也支持得更完整。Node 安装完成后,面板会展示环境变量、路径等信息,也可以在服务器上通过 node -v 确认版本。
这里补充一个常识:1Panel 里的 Node 运行环境通常也是通过容器或版本管理工具安装的,目录结构可能和你平时直接 apt 安装的不一样。遇到路径相关的问题时,用 which node 和 npm config get prefix 查清楚,别凭感觉找目录。
3.2 nvm 管理多版本 Node
如果你一台机器要跑多个项目,而且每个项目要求的 Node 版本不一样,就用 nvm 来切。1Panel 的 Node 环境模块里也集成了类似能力,但我个人习惯直接装 nvm,灵活性更高。
bash复制curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash
source ~/.bashrc
nvm install 22.19
nvm use 22.19
nvm alias default 22.19
把默认版本固定到 22.19 后,新开的终端会话自动用这个版本,不会出现项目启动时报错说找不到 Node。如果团队协作,还可以在项目根目录加一个 .nvmrc 文件,里面写 22.19.0,其他人进来执行 nvm use 就能自动切换。
3.3 Node 国内镜像源配置
国内服务器直接用 npm 官方源,速度相当折磨人。这个必须换成国内镜像源,常见的有两个:
- npmmi
