1Panel 快速部署 Node+MongoDB+Nginx 项目实操流程(附避坑指南)

在 Linux 服务器上通过 1Panel 面板部署 Node+MongoDB+Nginx 技术栈的项目,能大幅简化环境配置和运维操作,本文整理了完整的部署步骤,同时标注实操中遇到的关键坑点,帮助快速完成项目上线。

一、安装 1Panel 面板

1Panel 的安装可直接通过官网提供的一键命令,在 Linux 服务器终端执行即可,命令如下:

复制代码
bash -c "$(curl -sSL https://resource.fit2cloud.com/1panel/package/v2/quick_start.sh)"

执行命令后,终端会依次出现交互式询问,需按需配置:

  • 是否下载 Docker(建议选择是,后续应用安装依赖 Docker);
  • 设置面板外网访问 URL;
  • 自定义面板访问端口号;
  • 设置面板登录的用户名和密码

二、1Panel 面板首次登录

  • 安装完成后,终端会输出面板访问路径,若服务器开启了 IPv6,会同时显示 IPv6 和 IPv4 访问地址,直接使用 IPv4 地址 + 面板端口号访问即可;
  • 访问前需确认服务器已开放该面板端口号,否则会无法访问;
  • 输入配置的用户名和密码,完成首次登录。

三、安装项目所需基础软件

  • 登录 1Panel 面板后,找到左侧菜单栏的应用商店
  • 因项目基于 Node+MongoDB+Nginx 技术栈,在应用商店中搜索并安装MongoDBopenresty (Nginx 升级版,兼容所有 Nginx 配置)即可。

四、部署前文件目录创建(关键避坑步骤)

在部署项目前,需先创建指定的文件目录,目录位置需严格匹配 openresty 安装时默认的网站目录,操作如下:

  1. 点击左侧菜单栏系统文件,进入文件管理界面;
  2. 定位到 openresty 默认网站目录/www/sites/(该目录为 openresty 默认,无需修改);
  3. /www/sites/下新建项目主文件夹(示例为app),必须在app文件夹内新建log文件夹 ;✅ 避坑:若未创建log文件夹,后续部署网站时会直接报错,且系统会自动删除新建的app文件夹,需重新创建;
  4. 最终项目完整路径为:/www/sites/sites/app

部署项目前,先在系统=》文件,新建你要部署项目的文件夹,注意要放在你安装openresty时的填写的网站目录下:我的是www/sites/ 新建sites 这个是openresty默认的文件夹,在这个下面在新建你的项目文件夹比如说app。在这个app下一定要建log文件夹,否则后面在部署网站时会出错。出错之后,会把你的app文件全部删除掉

整体的项目路径为:/www/sites/sites/app

五、创建静态网站并配置基础信息

  1. 点击左侧菜单栏网站创建网站 ,选择静态网站类型;
  2. 按要求填写以下配置项(均为面板内配置,与服务器本身无关):
    • 域名 / IP:填写服务器公网 IP,若已解析域名可直接填写域名;
    • 端口号:为 1Panel 面板内的端口号,非服务器端口,按需自定义即可;
    • 代号:必须填写项目文件夹名称(示例为app,需与第四步创建的文件夹名称完全一致;
  3. 确认配置时,查看页面下方的对应目录 ,需将前端静态项目文件全部放入app/index目录下,否则会出现文件找不到的报错;
  4. 所有配置填写完成后,点击确认,完成静态网站基础创建。

六、配置静态文件反向代理(核心步骤)

创建完静态网站后,需配置反向代理,实现前端请求与后端接口的连通,操作如下:

  1. 在网站管理列表中,找到刚创建的静态网站,点击右侧配置,进入网站配置页面;
  2. 选择反向代理配置文件,进入代理配置编辑界面;
  3. 配置代理地址时注意两个核心要点:
    • 配置 api 代理地址:不能填写服务器本机 IP,需填写 1Panel 面板中后端服务的 IP;
    • 配置文件代理地址:同样需填写 1Panel 面板内的 IP,而非服务器 IP;
  4. 按上述要求配置完成后,保存配置并重启服务。

七、项目访问

所有配置完成并重启服务后,直接在浏览器中输入服务器 IPv4 地址 + 面板端口号(或配置的域名),即可正常访问前端项目,实现前后端请求的正常连通。

相关推荐
神梦流2 小时前
GE 引擎的内存优化终局:静态生命周期分析指导下的内存分配与复用策略
linux·运维·服务器
凡人叶枫2 小时前
C++中输入、输出和文件操作详解(Linux实战版)| 从基础到项目落地,避坑指南
linux·服务器·c语言·开发语言·c++
wdfk_prog2 小时前
[Linux]学习笔记系列 -- [drivers][input]serio
linux·笔记·学习
xuhe22 小时前
[全流程详细教程]Docker部署ClawBot, 使用GLM4.7, 接入TG Bot实现私人助理. 解决Docker Openclaw Permission Denied问题
linux·docker·ai·github·tldr
Lsir10110_2 小时前
【Linux】进程信号(下半)
linux·运维·服务器
skywalk81633 小时前
unbound dns解析出现问题,寻求解决之道
运维·服务器·dns·unbound
酉鬼女又兒3 小时前
零基础入门Linux指南:每天一个Linux命令_pwd
linux·运维·服务器
云飞云共享云桌面3 小时前
高性能图形工作站的资源如何共享给10个SolidWorks研发设计用
linux·运维·服务器·前端·网络·数据库·人工智能
skywalk81633 小时前
走近科学:unbound dns域名服务器自己本地解析出现问题,寻求解决之道
运维·服务器·dns·unbound
zl_dfq3 小时前
Linux 之 【多线程】(pthread_xxx、轻量级进程、原生线程库、线程ID、__thread、线程栈、线程与信号、线程与程序替换)
linux