如何将Node.js与MongoDB项目部署至普通cPanel面板?
Node.js + MongoDB 项目部署指南(新手向)
一、前期准备
- 确保本地项目能正常运行:启动项目,测试接口和数据库连接是否正常
- 整理项目配置:将敏感信息(如MongoDB连接字符串、端口号)放到环境变量文件(
.env)中,不要硬编码到代码里 - 确认项目根目录有
package.json,且scripts里有启动命令(比如"start": "node app.js")
二、服务器初始化(以Ubuntu为例)
- 登录服务器(用SSH),先更新系统包:
sudo apt update && sudo apt upgrade -y - 安装Node.js和npm:
直接通过系统包管理器安装:
验证安装:sudo apt install nodejs npm -y
如果需要更新到LTS版本,可以添加NodeSource的PPA或使用nvm进行版本管理(具体步骤可自行搜索)。node -v && npm -v
三、上传项目到服务器
- 方式1:用Git克隆项目仓库(如果项目托管在代码平台)
git clone 你的项目仓库地址 cd 项目目录 - 方式2:用SCP上传本地压缩包
本地终端执行:
服务器端解压:scp 你的项目压缩包.zip 服务器用户名@服务器IP:/目标路径unzip 项目压缩包.zip cd 项目目录
四、部署MongoDB
选项1:服务器本地安装MongoDB
- 安装MongoDB:
通过系统包管理器安装基础版本:
启动并设置开机自启:sudo apt update && sudo apt install mongodb -ysudo systemctl start mongodb sudo systemctl enable mongodb - 创建数据库和权限用户:
进入MongoDB shell:
执行命令创建数据库和用户(替换为你的信息):mongo
修改MongoDB配置文件use 你的数据库名 db.createUser({ user: "你的用户名", pwd: "你的密码", roles: [{ role: "readWrite", db: "你的数据库名" }] }) exit/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文件中
五、项目环境配置与启动
- 在项目目录创建
.env文件,填入必要配置:PORT=3000 MONGODB_URI=你的MongoDB连接字符串 - 安装项目依赖:
npm install - 使用PM2管理Node.js进程(防止进程意外终止)
安装PM2:
启动项目:npm install -g pm2
设置PM2开机自启:pm2 start app.js --name "你的项目名" # 替换app.js为你的入口文件pm2 startup pm2 save # 保存当前进程列表 - 查看进程状态和日志:
pm2 status pm2 logs # 查看实时日志
六、配置Nginx反向代理(可选但推荐)
- 安装Nginx:
sudo apt install nginx -y - 创建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; } } - 启用配置并重启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
相关产品推荐
相关产品推荐

