一、点击免费试用进入到产品界面
二、试用完成后可以在控制台修改密码
三、改变密码后建立远程连接进入安装宝塔的界面
四、输入yum install -y wget && wget -O install.sh https://download.bt.cn/install/install_6.0.sh && sh install.sh ed8484bec下载宝塔,后两个步骤,1:yes,2:no.,就生成了密码以及连个网页链接然后创建两个安全组一个27017,一个远程连接生成的五位数字
五、下载完成后输入外网进入宝塔界面
六、配置root密码,安全认证
七、配置管理规则
八、手动添加授权实例并且配置端口,配置授权对象0.0.0.0网址
九、在宝塔服务器上下载Docker
在宝塔终端上操作
1.查看本地镜像命令
#查看镜像命令
docker images
#查看正在运行的容器
docker ps
#查看全部的容器
docker ps -a
2.使用docker拉取mongo镜像
docker pull mongo:latest
3.运行容器
docker run -itd --name mongo -p 27017:27017 mongo --auth
参数说明: -p 27017:27017 :映射容器服务的 27017 端口到宿主机的 27017 端口。外部可以直接通过 宿主机 ip:27017 访问到 mongo 的服务。 --auth:需要密码才能访问容器服务。
4.进入mongo
#5.0版本以上连接mongo使用命令mongosh(现在下载一般都是5.0以上的)
docker exec -it mongo mongosh admin
#5.0版本以下
docker exec -it mongo mongo admin
5.创建业务数据库和一个用户账号使用
#1.
use admin
#结果:already on db admin
#2.
db.createUser({user:'root',pwd:'root',roles:[{role:'root',db:'admin'}]})
#结果:{ ok: 1 }
#3.
db.auth('root','root')
#结果:{ ok: 1 }
#4.创建业务数据库和用户(此时还在admin中)
db.createUser({user:'web',pwd:'web123',roles:[{role:'readWrite',db:'db_bt'}]});
#结果:{ ok: 1 }
#5.
db.auth('web','web123')
#结果:{ ok: 1 }
#6.
show users
#结果:为一个数组,数组中为两个用户
#7.
use db_bt
#结果:switched to db db_bt
#8.
show users
#结果[]
#8.在业务数据库中创建用户
db.createUser({user:"travel",pwd:"travel",roles:[{role:"dbuser",db:"db_bt"}]})
#结果:{ ok: 1 }
#9.
show users
#结果:为一个数组,数组中为一个用户
#10.认证
db.auth('travel','travel')
#结果:{ ok: 1 }
#11.完结退出
exit
6. MongoDB Compass连接
配置端口
端口号需要自己进行配置
配置用户
7.开启端口规则
8.在express里面连接数据库
const mongoose = require('mongoose')
mongoose.set('strictQuery', true)
mongoose.connect("mongodb://user:user@255.255.255.255:27017/travel", (err) => {
//mongodb://user:user@255.255.255.255:27017/travel
//user就是数据库用户名,255.255.255.255就是服务器地址,travel就是数据库名
if (!err) {
return console.log("数据库连接成功")
} else {
return console.log("数据库连接失败")
}
})
module.exports = mongoose
9.通过model设置Schema和Model实例去创建数据库的集合
const mongoose = require('./db')
let userSchema = new mongoose.Schema({
name: String
})
let userModel = mongoose.model("user", userSchema, "user")
userModel.create({name:"zjamhsam"})
module.exports = { userModel }