搭建自己的服务器环境之安装mongo和mongo-express

MongoDB 与 mongo-express docker 安装 这里借助 compose.yml 将 MongoDB 和 mongo-express 一起安装,这样两个容器可以公用一个网络环境,用于通信,这样mongo-express 可以直连 mongodb;与 MySQL 不同,MongoDB 为 NoSQL 数据库,MongoDB 中没有 table ,schema 概念,取而代之的 collection,其中 collection 存储的为 BSON 格式,是一种类似于 JSON 的用于存储 k-v 键值对数据,比较适用于 JS 应用开发。 阅读详情

前提准备

由于采用的docker安装, 需要安装docker以及docker-compose, 可以查看其他文章,也可点击查看该系列docker安装章节内容

配置文件

点击查看mongo配置文件模块官方文档

关于下列配置文件,全部来源于上述连接中个人查看后自行编写的内容,因此仅供参考

systemLog:
  destination: file
  path: "/var/log/mongodb/mongod.log" # 日志目的地,注意这是文件不是目录。Linux 包 init 脚本不希望 systemLog.path 改变默认值。如果使用 Linux 包并更改 systemLog.path,则必须使用自己的 init 脚本并禁用内置脚本。
  logAppend: true
  quiet: true # 以一种安静的模式运行 mongos 或 mongod,试图限制输出的数量,静音不推荐用于生产系统, 但有些地方使用可以决定是否使用
storage:
  dbPath: /etc/mongo/db/ # Mongod 实例存储其数据的目录。Dbpath 设置仅对 mongod 可用,注意这里是目录不是文件。
  engine: wiredTiger # Mongod 数据库的存储引擎 wiredTiger inMemory 指定内存中存储引擎
  wiredTiger:
    engineConfig:
      # 将用于所有数据的内部缓存的最大大小 如果您在一个无法访问系统中所有可用内存的容器(例如 lxc、 cgroups、 Docker 等)中运行 mongod,
      # 则必须将 storage.wiredTiger.engineConfig.cacheSizeGB,单位为GB, 设置为小于容器中可用内存总量的值。确切的数量取决于容器中运行的其他进程。参见 memLimitMB
      cacheSizeGB: 0.25
  journal:
      enabled: true # 启用或禁用持久性日志,以确保数据文件仍然有效且可恢复
net:
  bindIp: 0.0.0.0   # 绑定服务器, 0.0.0.0 允许所有机器访问, 127.0.0.1仅允许当前机器访问
  port: 27017 # 服务端口
  maxIncomingConnections: 65536 # 同时接受的最大关系数。如果此设置高于操作系统配置的最大连接跟踪阈值,则不会产生任何影响。不要将太低的值赋给此选项,否则在正常应用程序操作期间将遇到错误。
  wireObjectCheck: true # 防止客户机将格式不正确或无效的 BSON 插入 MongoDB 数据库
  serviceExecutor: adaptive # 用新的实验性异步联网模式,具有自适应的线程池,该线程池根据每个请求管理线程
setParameter:
  enableLocalhostAuthBypass: false  # 禁用本机身份验证
cloud:
  monitoring:
    free:
      state: runtime
security:
  # 启用或禁用以角色为基础的存取控制访问控制(RBAC)来管理每个用户对数据库资源和操作的访问。
  # enable 用户只能访问被授予特权的数据库资源和操作, disabled 用户可以访问所有的数据库并执行任何操作
  authorization: disabled
# 慢操作监控
operationProfiling:
  mode: slowOp
  slowOpThresholdMs: 10000
  slowOpSampleRate: 0.5
 
单机
docker-compose

准备事项

# 创建目录
mkdir -p /opt/mongo/config && mkdir -p /opt/mongo/logs/ && mkdir -p /opt/mongo/db
cd /opt/mongo/config
# 创建配置文件,将上面的配置文件内容放进来
vim mongod.conf
# 创建pid文件,配合processManagement.fork=true时使用
touch /opt/mongo/config/mongod.pid
# 创建日志文件
cd /opt/mongo/logs
touch mongod.log
# 整个目录赋权
chmod -R 777 /opt/mongo
# 创建dockerc-compose文件
cd /opt/mongo
vim docker-compose.yaml

docker-compose.yaml

mongo: https://hub.docker.com//mongo
mongo-express: https://hub.docker.com/
/mongo-express?tab=description

虽然从官方找的配置文件不建议修改日志目录,但是用docker安装的时候,发现还是要提前创建好,然后给与权限才行。
按需修改mongod.conf上面配置部分内容:

  • systemLog.path:/etc/mongo/logs/mongod.log
  • storage.dbPath:/etc/mongo/db/

注意
docker-express不要在生产环境中使用

下面docker-compose文件中引用了外部网络且指定了ip,这个是需要提前创建网络的,在docker安装篇中已经创建过

docker network create --driver=bridge --subnet=172.20.12.0/16 mynet
version: '3.1'
 
services:
  mongo:
    image: mongo:4.4.2
    container_name: mongo
    restart: always
    environment:
      # mongo的用户名和密码
      MONGO_INITDB_ROOT_USERNAME: develop
      MONGO_INITDB_ROOT_PASSWORD: 12345678
    ports:
      - 27020:27017
    volumes:
      - /etc/localtime:/etc/localtime
      - /opt/mongo/config/mongod.conf:/etc/mongo/mongod.conf:rw
      - /opt/mongo/config/mongod.pid:/etc/mongo/mongod.pid
      - /opt/mongo/db:/etc/mongo/db:rw
      - /opt/mongo/logs/:/etc/mongo/logs:rw
    command: "mongod --config /etc/mongo/mongod.conf"
    networks:
      default:
        ipv4_address: 172.20.0.13
  mongo-express:
    image: mongo-express:0.54.0
    container_name: mongo-express
    restart: always
    ports:
     - 8802:8081
    environment:
      # 具体全量的含义可以看上面dockerhub中mongo-express中的列表有详细解释
      # mongo的服务地址,可以配置容器名也可以用ip
      ME_CONFIG_MONGODB_SERVER: mongo
      # mongo服务的端口
      ME_CONFIG_MONGODB_PORT: 27017
      # mongo的admin用户名
      ME_CONFIG_MONGODB_ADMINUSERNAME: develop
      # mongo的admin密码
      ME_CONFIG_MONGODB_ADMINPASSWORD: 12345678
      # 编辑主题
      ME_CONFIG_OPTIONS_EDITORTHEME: ambiance
      # 是否可以执行全部操作
      ME_CONFIG_MONGODB_ENABLE_ADMIN: "true"
    networks:
     default:
        ipv4_address: 172.20.0.14
networks:
  default:
    external:
      name: mynet
 
访问mongo-express

按照docker-compose映射的端口,如上,则为8802, 然后ip:8802访问

docker-express

创建用户授权

内置角色

# mongo --help 查看帮助
mongo -u develop -p xxxx --authenticationDatabase admin
# authSource db, 名字按需取
use test_auth
# 对应连接地址mongodb://admin:123456@${host}:27017/?authSource=test_auth
# 或者指定默认数据库,没有会创建
# 对应连接地址# mongodb://admin:123456@${host}:27017/${数据库名}?authSource=test_auth
db.createUser( {user: "admin", pwd: "123456",roles: [ { role: "dbOwner", db: "test_auth" } ]})
【云原生之Docker实战】使用Docker部署MongoDB数据库管理工具Mongo-Express 【云原生之Docker实战】使用Docker部署MongDB数据库管理工具Mongo-Express 阅读详情

相关推荐

Node.js和Express构建MongoDB Web管理界面实战

Node.js作为一个跨平台的JavaScript运行环境,它使得开发者可以使用JavaScript来编写服务器端的代码。它诞生于2009年,其目的是为了提供一种更简单、高效的方式来构建网络应用。Node.js内置了一系列的核心模块,这些模块提供了访问文件系统、创建HTTP服务器等功能。Express是一个简洁且灵活的Node.js Web应用框架,它提供了一系列强大的特性来帮助开发者构建各种Web应用和API。Express的核心特性包括路由处理、中间件支持、模板渲染和静态文件服务等。

weixin_33245447的博客 842

一、MongoDB、express的安装和基本使用

MongoDB、MongoDB Compass安装和使用; nodeJs+express+Vue+MongoDB

meteorites的博客 2255

mongo-express:基于Web的MongoDB管理界面,使用Node.js编写并表达

mongo-express 使用Node.js,Express和Bootstrap3编写的基于Web的MongoDB管理界面 产品特点 连接到多个数据库 查看/添加/删除数据库 查看/添加/重命名/删除收藏集 查看/添加/更新/删除文档 在集合视图中内联预览音频/视频/图像资产 嵌套和/或大对象可折叠,以方便查看 异步按需加载大文档属性(默认值> 100KB),以保持快速收集视图 GridFS支持-添加/获取/删除非常大的文件 在文档中使用BSON数据类型 移动/响应式-当您处于绑定状态时,Bootstrap 3可以在小屏幕上正常运行 连接并验证各个数据库 以管理员身份验证以查看所有数据库 数据库黑名单/白名单 自定义CA和CA验证禁用 支持副本集 屏幕截图 主页 数据库视图 集合视图 编辑文件 这些屏幕截图来自版本0.30.40的“查看相册”以获取更多屏幕截图:(服务器状态,数据库视图等。) 发展历程 将config.default.js复制到config.js并编辑默认属性以适合您的本地环境 使用以下命令运行开发版本: npm run start-dev 用法(npm /

MongoDB数据库管理工具mongo-express

mongo-express是一款用node.js开发的基于Web的MongoDB数据库管理工具。

北辰 1161

【工具】GitHub学生认证+PyCharm配置Copilot全流程指南

本文提供了一份详细的GitHub学生认证及在PyCharm中配置Copilot的完整指南。通过完成A2F认证、准备有效材料并使用干净网络环境,学生可免费获取GitHub Copilot Pro订阅,极大提升编程学习与开发效率。

w7x8y9z的博客 1459

从零到一:在Ubuntu 20.04上搭建ROS1与PX4无人机开发环境

本文详细指导如何在Ubuntu 20.04系统上搭建完整的ROS1与PX4无人机开发环境。内容涵盖ROS Noetic安装、PX4固件源码编译、MAVROS通信桥接以及QGroundControl地面站的配置,并通过Gazebo仿真完成全链路联调测试,为无人机算法开发与验证提供稳定可靠的基础平台。

weixin_29292431的博客 167

MONGO-EXPRESS Docker 容器化部署指南

摘要: MONGO-EXPRESS是一个基于Node.js和Express的Web版MongoDB管理工具,支持文档操作、集合管理及数据库监控。本文详细介绍了通过Docker容器化部署MONGO-EXPRESS的完整流程,包括:1)使用轩辕镜像加速服务拉取镜像;2)配置基础环境变量连接MongoDB实例;3)Docker Compose编排实现与MongoDB的联动部署;4)生产环境安全加固建议(如SSL加密、IP访问限制);5)功能测试方法与常见故障排查。文档特别针对国内用户优化,提供轩辕镜像加速方案,并

java_logo的专栏 1048

操作系统头歌 课后作业3.3.2:进程的调度

请问:从 6 号进程刚创建完 7 号进程开始,在接下来的 9 次进程调度中,每次调度时,6 号和 7 号进程的剩余时间片是多少?请问:从 6 号进程刚创建完 7 号进程开始,在接下来的 9 次进程调度中,每次调度时,6 号和 7 号进程的剩余时间片是多少?根据相关知识回答当程序 01.c 运行时(在版本 0 内核中),会在父子两个进程(假设分别为 6 号和 7 号进程)中分别输出字符串。当程序 01.c 运行时(在版本 0 内核中),会在父子两个进程(假设分别为 6 号和 7 号进程)中分别输出字符串。

weixin_73255571的博客 4737

mongo-express Docker部署终极指南:一键搭建MongoDB管理平台

🚀 还在为MongoDB数据库管理而烦恼吗?想要一个简单易用的Web界面来管理你的数据库吗?mongo-express正是你需要的终极解决方案!作为基于Node.js和Express开发的Web版MongoDB管理工具,mongo-express提供了直观的操作界面,让你轻松管理数据库、集合和文档。 ## 为什么选择mongo-express? mongo-express是一个轻量级的Mon

gitblog_01067的博客 892

【AI+教育】别再让 Cursor 只当编辑器了!4 步解锁 Claude 官方技能!

本文介绍了在Windows环境下通过OpenSkills工具在Cursor中调用Claude AI技能的方法。主要内容包括:1)安装Node.js环境;2)全局安装OpenSkills工具;3)安装Claude官方技能库;4)通过AGENTS.md文件同步技能;5)在Cursor中直接调用技能完成Excel、PPT等任务。文章提供了详细的操作步骤和示例,帮助用户快速上手使用AI技能提升工作效率。

奶爸的编程之路,也就一周冷个三天 753

【天线与电波传播】电波传播部分 第7章 电波传播的基础知识3

菲涅尔区与菲涅尔带的基本知识

Chen59_2328的博客 1601

MongoDB管理神器:mongo-express开发环境搭建终极指南

mongo-express是一款功能强大的MongoDB管理工具,它提供了直观的Web界面,让用户能够轻松管理MongoDB数据库、集合和文档。本指南将详细介绍如何快速搭建mongo-express的开发环境,帮助新手用户轻松上手这款实用工具。 ## 准备工作:环境要求 在开始搭建mongo-express开发环境之前,确保你的系统满足以下要求: - Node.js 18.x 或更高版本 -

gitblog_00489的博客 344

【OpenClaw从入门到精通】第35篇:电商“龙虾”掘金记——用OpenClaw实现小红书/抖音/淘宝全自动矩阵运营(2026实测版)

2026年,OpenClaw智能体已成为电商运营的“效率革命工具”,其多平台自动化能力让单人可完成传统3-5人的工作量。本文基于真实商业案例(来源:海报新闻、阿里云开发者社区等),系统拆解OpenClaw在小红书、抖音、淘宝的全链路运营方案:从阿里云部署搭建基础环境,到三大平台核心技能安装配置,再到跨平台矩阵工作流落地;同时揭秘代部署、模板售卖、轻定制、内容套利四大变现模式,并详解Token成本控制、安全风险规避等关键问题。文中所有代码均经过2026年3月实测验证,提供完整可复现的技术方案,帮助读者快速搭建

专注于人工智能、软件开发、工控自动化、工厂数字化及智能化等领域,希望和大家共同进步! 2073

容器化运维操作(六)-Docker-compose——基本介绍 & 搭建本地mongo+mongo-express服务 & 应用-mongoose+mongodb

容器化运维操作(六)-Docker-compose——基本介绍 & 搭建本地mongo+mongo-express服务 & 应用-mongoose+mongodb Docker-compose介绍 通过 Docker-Compose 用户可以很容易地用一个配置文件定义一个多容器的应用,然后使用一条指令安装这个应用的所有依赖,完成构建。Docker-Compose 解决了容器与容器之间如何管理编排的问题。 Compose 中有两个重要的概念: 服务 (service) :一个应用的容器,实

weixin_44867717的博客 1885

CVPR 2023 中的半监督学习: FixMatch 的升级版 UniMatch

我们首先回顾下发表在 NeurIPS 2020 上的 FixMatch: Simplifying Semi-Supervised Learning with Consistency and Confidence,FixMatch 是一种更轻量的半监督分类方法。如下图所示,FixMatch 首先使用模型(带标签数据训练后的)对弱增强的未标记图像进行预测,生成伪标签。对于给定的图像,只有在模型产生高置信度的预测时,伪标签才会被保留。然后,在输入同一图像的强增强版本时,训练模型预测伪标签。

NJU phd 在读。 2634

PyTorch深度学习实战(4)——常用激活函数和损失函数详解

激活函数和损失函数是深度学习模型中重要组成部分,激活函数和损失函数的选择很大程度上决定了深度神经网络的性能和精度,需要根据具体问题的特点和数据分布等因素进行选择。在本节中,将介绍深度学习中常见的激活函数和损失函数,并说明不同函数的常见应用场景。

盼小辉丶的博客 1万+

mongo-express 项目教程

mongo-express 项目教程 1. 项目的目录结构及介绍 mongo-express/ ├── cypress/ ├── examples/ ├── lib/ ├── public/ ├── test/ ├── .cfignore ├── .dockerignore ├── .eslintignore ├── .eslintrc.yml ├── .gitattributes ├── .gi...

gitblog_00016的博客 578

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

Window环境下Express框架+MonDodb数据库搭建服务器后台

Window环境下Express框架+MonDodb数据库搭建服务器后台1、安装环境,需要安装nodejs,这个自行到nodejs官网上去下载安装,安装好后,可以利用npm命令是下载express框架,可以通过命令:npm install express-generator -g 进行全局安装,安装完成后既可以使用express框架了,这个安装很简单就不在详细解说。2、使用express生成项目:进

jsjqcs的博客 1780

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

Mongo-Express 使用教程

Mongo-Express 是一个基于 Node.js 和 Express 的 MongoDB Web 管理界面。以下是其基本的目录结构: ``` mongo-express/ ├── config/ │ ├── config.default.js │ └── config.js ├── lib/ │ ├── app.js │ ├── db.js │ └── ... ├── ...

gitblog_00199的博客 606

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

终极指南:如何在现有Express应用中快速集成mongo-express中间件

MongoDB数据库管理是现代Web开发中的核心需求,而mongo-express作为基于Node.js和Express的Web管理界面,为开发者提供了强大的数据库可视化工具。本文将详细介绍如何在现有Express应用中快速集成mongo-express中间件,让您的数据库管理更加高效便捷。😊 ## 什么是mongo-express中间件? mongo-express是一个功能丰富的Mong

gitblog_00252的博客 705

西瓜书公式推导终极指南:南瓜书(pumpkin-book)机器学习公式详解

读《机器学习》时遇到一个较难的公式,原书往往只给最后结果,推导过程一笔带过,跟不上的话越读越懵。对数学基础不够扎实的读者来说,这些留白正是自学机器学习的最大障碍。 南瓜书(pumpkin-book)是西瓜书的公式详解指南,Datawhale 开源的《机器学习公式详解》专门补上这些被省略的推导,用本科数学水平也能逐行跟下来。 ## 📖 项目定位与背景 西瓜书是机器学习领域的经典入门教材,作者

gitblog_00909的博客 213

MongoDB Web管理界面Mongo-express介绍

Mongo-express 是一个基于Node.js和express的开源的MongoDB Web管理界面。 Github地址:https://github.com/andzdroid/mongo-express 当前功能:连接多个数据库 分别连接和认证独立的数据库 认证为管理员查看所有数据库 数据库 黑名单/白名单 集合(collections)的增删查改 文档(do

不忘初心,方得始终 1万+

Express-Node-Mongo-Skeleton 项目教程

Express-Node-Mongo-Skeleton 项目教程 项目介绍 Express-Node-Mongo-Skeleton 是一个专为快速启动Web应用程序而设计的模板。它演示了如何在Node.js环境中构建完整的CRUD(创建、读取、更新、删除)和REST操作。这个项目源于《如何创建完全的Express.js + Node.js + MongoDB CRUD和REST骨架》教程中的最终示...

gitblog_01111的博客 795

使用 express-session 和 connect-mongo 将会话数据存储在 MongoDB示例及实现用户登录会话示例

是 Express 框架的一个中间件,用于处理会话数据。而是一个将的会话数据存储在 MongoDB 中的第三方库。通过,你可以轻松地将用户会话持久化到 MongoDB 数据库中,这对于需要跨多个请求或服务器实例保持用户状态的应用非常有用。

wsad0532的专栏 827

MongoDB管理神器:mongo-express终极实践指南

mongo-express是一款功能强大的MongoDB可视化管理工具,它提供了直观的Web界面,帮助用户轻松管理MongoDB数据库。无论是数据库新手还是有经验的开发者,都能通过mongo-express高效地进行数据操作和管理。 ## 为什么选择mongo-express? mongo-express作为一款优秀的MongoDB管理工具,具有诸多优势。它完全基于Web,无需安装额外的客户端

gitblog_00889的博客 409

登录状态存哪去?StoryBooks 用 connect-mongo 实现 Session 持久化全解析

StoryBooks 是一个基于 Node.js + Express + MongoDB 的故事创作应用,支持 Google OAuth 一键登录。本文以 StoryBooks 为实例,完整解析它如何用 express-session 搭配 connect-mongo 把 Session 持久化存入 MongoDB,让登录状态在服务重启后依然"在线"。 ## 为什么重启服务器后登录状态会"消失"

gitblog_00638的博客 854
上一篇: 搭建自己的服务器环境之一免密登陆
下一篇: 搭建自己的服务器环境之安装RocketMQ和RocketMQ Console
DDF_YiChen
博客等级 码龄12年 59粉丝 76原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值