## 关于我的后端使用的是express + mongoDB,因此以这个为例说明一下
1.确认系统架构
uname -m输出应为 x86_64 或 aarch64
2.导入 MongoDB GPG 密钥
sudo rpm --import https://www.mongodb.org/static/pgp/server-6.0.asc3.创建 MongoDB 仓库文件
sudo tee /etc/yum.repos.d/mongodb-org-6.0.repo << 'EOF'
[mongodb-org-6.0]
name=MongoDB Repository
baseurl=https://repo.mongodb.org/yum/redhat/8/mongodb-org/6.0/x86_64/
gpgcheck=1
enabled=1
gpgkey=https://www.mongodb.org/static/pgp/server-6.0.asc
EOF若系统是 arm64 架构,将 baseurl 中的 x86_64 改为 aarch64
4.安装 MongoDB
sudo dnf install -y mongodb-org5.启动 MongoDB 并设置开机自启
# 启动服务
sudo systemctl start mongod
# 设置开机自启
sudo systemctl enable mongod
# 验证状态(显示 active(running) 则成功)
sudo systemctl status mongodmongosh1. 切换到 admin 数据库(系统默认管理员库)
use admin2. 创建超级管理员(替换 用户名/密码 为你的强密码)
db.createUser({
user: "rootAdmin", # 管理员用户名
pwd: "你的超级复杂密码", # 建议包含大小写、数字、符号
roles: [{ role: "root", db: "admin" }] # 最高权限
})3. 创建项目专用数据库用户(例如项目数据库叫 myexpressdb)
use myexpressdb # 切换到你的项目数据库(不存在会自动创建)
db.createUser({
user: "projectUser", # 项目数据库用户名
pwd: "项目数据库密码", # 单独的密码,避免和管理员密码一致
roles: [{ role: "readWrite", db: "myexpressdb" }] # 仅读写该库的权限
})sudo vim /etc/mongod.conf添加内容
security:
authorization: enabled重启 MongoDB 使配置生效
# 重启服务
sudo systemctl restart mongod
# 验证状态(确保 active(running),无报错)
sudo systemctl status mongod
# 测试认证是否生效(用项目用户连接,需输入密码)
mongosh mongodb://projectUser:项目数据库密码@localhost:27017/myexpressdb上传你的项目到服务器
scp -r ./one 用户名@服务器地址:/home/express-one
进入对应目录
配置.env文件 (配置为localhost连接,无需开放阿里云27017端口,若开放会不安全)
PORT=4000
MONGODB_URI=mongodb://数据库用户名:密码@localhost:27017/数据库名称?authSource=数据库名称
MONGODB_DB=数据库名称启动express项目
# 进入项目目录,启动入口文件(如 app.js、server.js)
pm2 start app.js --name "my-express" # --name 自定义进程名,方便管理
查看状态
pm2 log my-express
进行nginx配置
