2.4 Linux系统中的安装启动和连接

简介: 本文介绍在Linux系统部署单机MongoDB用于生产环境的完整步骤,包括下载、解压、目录配置、日志与数据路径设置、配置文件编写及服务启停方法。操作类似Windows,通过配置`mongod.conf`实现后台运行,支持命令行与图形工具连接,并提供防火墙处理与安全关闭服务方案,确保稳定运行。

目标:在Linux中部署一个单机的MongoDB,作为生产环境下使用。
提示:和Windows下操作差不多。
步骤如下:
(1)先到官网下载压缩包 mongod-linux-x86_64-4.0.10.tgz 。
(2)上传压缩包到Linux中,解压到当前目录:
tar -xvf mongodb-linux-x86_64-4.0.10.tgz
(3)移动解压后的文件夹到指定的目录中:
mv mongodb-linux-x86_64-4.0.10 /usr/local/mongodb
(4)新建几个目录,分别用来存储数据和日志:
mkdir -p /mongodb/single/data/db

日志存储目录

mkdir -p /mongodb/single/log
(5)新建并修改配置文件
vi /mongodb/single/mongod.conf
配置文件的内容如下:
systemLog:

MongoDB发送所有日志输出的目标指定为文件

#The path of the log file to which mongod or mongos should send all diagnostic logging information

destination: file

mongod或mongos应向其发送所有诊断日志记录信息的日志文件的路径

path: "/mongodb/single/log/mongod.log"

当mongos或mongod实例重新启动时,mongos或mongod会将新条目附加到现有日志文件的末尾。

logAppend: true
storage:

mongod实例存储其数据的目录。storage.dbPath设置仅适用于mongod。

The directory where the mongod instance stores its data.Default Value is "/data/db".

dbPath: "/mongodb/single/data/db"
journal:

启用或禁用持久性日志以确保数据文件保持有效和可恢复。

enabled: true
processManagement:

启用在后台运行mongos或mongod进程的守护进程模式。

fork: true
net:

服务实例绑定的IP,默认是localhost

bindIp: localhost,192.168.0.2
(6)启动MongoDB服务
[root@bobohost single]# /usr/local/mongodb/bin/mongod -f /mongodb/single/mongod.conf
about to fork child process, waiting until server is ready for connections.
forked process: 90384
child process started successfully, parent exiting
注意: 如果启动后不是 successfully ,则是启动失败了。原因基本上就是配置文件有问题。
通过进程来查看服务是否启动了:
[root@bobohost single]# ps -ef |grep mongod
root 90384 1 0 8月26 ? 00:02:13 /usr/local/mongdb/bin/mongod -f /mongodb/single/mongod.conf
(7)分别使用mongo命令和compass工具来连接测试。
提示:如果远程连接不上,需要配置防火墙放行,或直接关闭linux防火墙
systemctl status firewalld

临时关闭防火墙

systemctl stop firewalld

开机禁止启动防火墙

systemctl disable firewalld
(8)停止关闭服务
停止服务的方式有两种:快速关闭和标准关闭,下面依次说明:
(一)快速关闭方法(快速,简单,数据可能会出错)
目标:通过系统的kill命令直接杀死进程:
杀完要检查一下,避免有的没有杀掉。

通过进程编号关闭节点

kill -2 54410
【补充】 如果一旦是因为数据损坏,则需要进行如下操作(了解):
1)删除lock文件:
rm -f /mongodb/single/data/db/*.lock
2)修复数据:
/usr/local/mongdb/bin/mongod --repair --dbpath=/mongodb/single/data/db
(二)标准的关闭方法(数据不容易出错,但麻烦):
目标:通过mongo客户端中的shutdownServer命令来关闭服务
主要的操作步骤参考如下:
//客户端登录服务,注意,这里通过localhost登录,如果需要远程登录,必须先登录认证才行。
mongo --port 27017
//#切换到admin库
use admin
//关闭服务
db.shutdownServer()

相关文章
|
3月前
|
存储 运维 监控
日志服务SLS:日志采集与分析
日志服务SLS是阿里云提供的一站式日志解决方案,支持采集、存储、分析、投递全链路管理。通过Logtail、SDK、API实现多场景日志接入,结合查询语法、可视化图表与机器学习,助力运维监控、安全审计与成本优化,广泛应用于Nginx分析、错误排查及智能异常检测,提升企业数字化运营效率。(238字)
345 0
|
3月前
|
弹性计算 人工智能 安全
Alibaba cloud linux镜像操作系统怎么样?基于ECS深度优化的Linux操作系统全解析
Alibaba Cloud Linux是阿里云自研的免费Linux操作系统,兼容CentOS/RHEL生态,专为云服务器ECS优化,支持Web、云原生、AI等多种场景。提供十年免费维护、内核热补丁、多架构支持及安全加固,性能卓越,开箱即用,助力用户高效稳定上云。
|
2月前
|
程序员
别用命换工作:一位32岁程序员周末晕倒后猝死留给我们的生存思考
32岁程序员高广辉加班猝死,抢救时被拉入工作群,死后8小时仍收工作消息。他的离世揭开了996高压下的行业伤痛,令人警醒:代码可重构,生命仅一次。愿天堂无加班,生者学会为健康设“断点”。
332 2
别用命换工作:一位32岁程序员周末晕倒后猝死留给我们的生存思考
|
3月前
|
jenkins 持续交付 调度
项目《神领物流》
本项目为自研物流系统,基于微服务架构实现智能调度与管控,涵盖用户、快递员、司机多端应用。采用GitFlow管理代码,通过Jenkins实现持续集成,提交后自动构建,保障开发效率与系统稳定,类似顺丰速运模式,面向C端提供高效快递服务。(239字)
|
3月前
|
XML NoSQL Java
5.3 技术选型
本节介绍MongoDB的Java连接驱动mongodb-driver及SpringDataMongoDB持久层框架,通过搭建文章微服务工程,配置Spring Boot整合MongoDB,实现项目初始化与启动。
|
3月前
|
设计模式 Java 程序员
推荐书籍
推荐多本Java经典书籍:《Head First Java》适合入门,《Java核心技术》深入巩固基础,《Java编程思想》整合设计模式,适合进阶。并发方面有《Java并发编程之美》等,JVM推荐《深入理解Java虚拟机》与《实战JVM》。体系全面,适合不同阶段学习。
|
3月前
|
JSON NoSQL MongoDB
3.4.2 文档的基本查询
MongoDB使用`find()`查询数据,支持条件筛选与投影。`find({})`查所有文档,`_id`字段默认存在;可指定条件如`{userid:'1003'}`查询匹配记录,用`findOne()`返回第一条。投影参数控制字段显示,如`{userid:1,nickname:1,_id:0}`仅显指定字段,省略 `_id`。
|
3月前
|
存储 缓存 Java
ThreadLocal
ThreadLocal是线程本地变量,为每个线程提供独立的变量副本,避免线程竞争。每个线程可独享自己的数据,互不干扰。通过get、set、remove方法操作线程私有数据,底层由Thread中的ThreadLocalMap存储,线程结束时自动清理,也可手动调用remove防止内存泄漏。
|
3月前
|
Java Linux 开发工具
Linux
本文介绍如何在Linux系统上部署SpringBoot应用。内容涵盖项目打包、JAR文件上传、JDK安装与配置、应用启动及健康检查接口验证,助力快速完成Java应用的Linux环境部署。
 Linux
|
3月前
|
存储 安全 Java
3.泛型擦除引起的问题及解决方法
Java泛型在编译时进行类型检查并擦除类型信息,类型检查针对引用而非对象本身。擦除后泛型转为原始类型,通过自动强转实现安全取值。泛型不支持基本类型,静态成员不能使用类的泛型参数,但泛型方法可独立定义类型参数。instanceof不可用于泛型类型判断。