You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将Node.js与MongoDB项目部署至普通cPanel面板?

Node.js + MongoDB 项目部署指南(新手向)

一、前期准备

  • 确保本地项目能正常运行:启动项目,测试接口和数据库连接是否正常
  • 整理项目配置:将敏感信息(如MongoDB连接字符串、端口号)放到环境变量文件(.env)中,不要硬编码到代码里
  • 确认项目根目录有package.json,且scripts里有启动命令(比如"start": "node app.js")

二、服务器初始化(以Ubuntu为例)

  1. 登录服务器(用SSH),先更新系统包:
    sudo apt update && sudo apt upgrade -y
    
  2. 安装Node.js和npm:
    直接通过系统包管理器安装:
    sudo apt install nodejs npm -y
    
    验证安装:
    node -v && npm -v
    
    如果需要更新到LTS版本,可以添加NodeSource的PPA或使用nvm进行版本管理(具体步骤可自行搜索)。

三、上传项目到服务器

  • 方式1:用Git克隆项目仓库(如果项目托管在代码平台)
    git clone 你的项目仓库地址
    cd 项目目录
    
  • 方式2:用SCP上传本地压缩包
    本地终端执行:
    scp 你的项目压缩包.zip 服务器用户名@服务器IP:/目标路径
    
    服务器端解压:
    unzip 项目压缩包.zip
    cd 项目目录
    

四、部署MongoDB

选项1:服务器本地安装MongoDB

  1. 安装MongoDB:
    通过系统包管理器安装基础版本:
    sudo apt update && sudo apt install mongodb -y
    
    启动并设置开机自启:
    sudo systemctl start mongodb
    sudo systemctl enable mongodb
    
  2. 创建数据库和权限用户:
    进入MongoDB shell:
    mongo
    
    执行命令创建数据库和用户(替换为你的信息):
    use 你的数据库名
    db.createUser({
      user: "你的用户名",
      pwd: "你的密码",
      roles: [{ role: "readWrite", db: "你的数据库名" }]
    })
    exit
    
    修改MongoDB配置文件/etc/mongodb.conf,开启身份验证(找到security模块,添加authorization: enabled),然后重启服务:
    sudo systemctl restart mongodb
    

选项2:使用MongoDB Atlas(云服务,更适合新手)

  • 注册MongoDB Atlas账号,创建免费集群
  • 配置IP白名单(添加服务器IP或临时允许所有IP测试)
  • 创建数据库用户,获取连接字符串(格式类似mongodb+srv://用户名:密码@集群地址/数据库名?retryWrites=true&w=majority)
  • 将连接字符串填入项目的.env文件中

五、项目环境配置与启动

  1. 在项目目录创建.env文件,填入必要配置:
    PORT=3000
    MONGODB_URI=你的MongoDB连接字符串
    
  2. 安装项目依赖:
    npm install
    
  3. 使用PM2管理Node.js进程(防止进程意外终止)
    安装PM2:
    npm install -g pm2
    
    启动项目:
    pm2 start app.js --name "你的项目名" # 替换app.js为你的入口文件
    
    设置PM2开机自启:
    pm2 startup
    pm2 save # 保存当前进程列表
    
  4. 查看进程状态和日志:
    pm2 status
    pm2 logs # 查看实时日志
    

六、配置Nginx反向代理(可选但推荐)

  1. 安装Nginx:
    sudo apt install nginx -y
    
  2. 创建Nginx配置文件:
    sudo nano /etc/nginx/sites-available/你的项目名
    
    填入以下内容(替换为你的信息):
    server {
        listen 80;
        server_name 你的域名或服务器IP;
    
        location / {
            proxy_pass http://localhost:3000; # Node.js项目运行的端口
            proxy_http_version 1.1;
            proxy_set_header Upgrade $http_upgrade;
            proxy_set_header Connection 'upgrade';
            proxy_set_header Host $host;
            proxy_cache_bypass $http_upgrade;
        }
    }
    
  3. 启用配置并重启Nginx:
    sudo ln -s /etc/nginx/sites-available/你的项目名 /etc/nginx/sites-enabled/
    sudo nginx -t # 检查配置是否正确
    sudo systemctl restart nginx
    

七、配置HTTPS(可选)

可以使用Certbot免费获取SSL证书,具体安装和配置步骤可自行搜索“Certbot Nginx Ubuntu”,按照指引完成后Nginx会自动配置HTTPS。

八、测试与维护

  • 访问你的域名或服务器IP,检查项目是否正常响应
  • 测试数据库相关功能,确认连接正常
  • 更新项目时:拉取最新代码 → 安装新依赖 → 重启PM2进程
    git pull
    npm install
    pm2 restart 你的项目名
    

内容的提问来源于stack exchange,提问作者Md Ruhul Amin

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.22 11:15:31