MongoDB在Linux中的配置步骤
导读:MongoDB在Linux中的配置步骤 一 准备与安装 选择安装方式: 包管理器安装(推荐,便于升级与开机自启):例如在 Ubuntu/Debian 上导入公钥、添加源并安装社区版;在 RHEL/CentOS 上可使用官方 RPM 包或...
MongoDB在Linux中的配置步骤
一 准备与安装
- 选择安装方式:
- 包管理器安装(推荐,便于升级与开机自启):例如在 Ubuntu/Debian 上导入公钥、添加源并安装社区版;在 RHEL/CentOS 上可使用官方 RPM 包或发行版仓库。导入公钥示例:wget -qO - https://www.mongodb.org/static/pgp/server-4.4.asc | sudo apt-key add -(版本号按实际选择)。安装完成后可使用 systemd 管理。
- 二进制 tarball 安装(便于自定义路径与多版本并存):从官网下载 MongoDB Community Server 的 TGZ,解压至如 /usr/local/mongodb,并将 /usr/local/mongodb/bin 加入 PATH。示例:tar -zxvf mongodb-linux-*.tgz -C /usr/local & & echo ‘export PATH=/usr/local/mongodb/bin:$PATH’ > > ~/.bashrc & & source ~/.bashrc。
二 目录与权限
- 创建数据与日志目录(示例使用系统常用路径,注意目录所属用户与权限):
- sudo mkdir -p /var/lib/mongodb /var/log/mongodb
- 建议创建专用系统用户 mongodb 并授权:sudo useradd -r -s /sbin/nologin mongodb;sudo chown -R mongodb:mongodb /var/lib/mongodb /var/log/mongodb
- 若使用 tarball 自定义目录(示例):sudo mkdir -p /usr/local/mongodb/data /usr/local/mongodb/log;sudo chown -R mongodb:mongodb /usr/local/mongodb。
三 配置文件
- 配置文件默认路径为 /etc/mongod.conf,采用 YAML 格式(注意缩进使用空格)。一个最小可用示例:
- systemLog:
- destination: file
- logAppend: true
- path: /var/log/mongodb/mongod.log
- storage:
- dbPath: /var/lib/mongodb
- journal:
- enabled: true
- net:
- port: 27017
- bindIp: 127.0.0.1(仅本地;如需远程访问,可改为 0.0.0.0 或指定内网网段)
- processManagement:
- fork: true
- pidFilePath: /var/run/mongodb/mongod.pid
- security:
- authorization: enabled(启用认证)
- systemLog:
- 关键参数说明:
- net.port:默认 27017(mongod 非分片/非配置服务器节点);分片节点 27018;配置服务器 27019。
- net.bindIp:可绑定多个地址(逗号分隔),如 0.0.0.0 表示所有 IPv4。
- security.authorization:设为 enabled 开启基于角色的访问控制(RBAC)。
四 启动与自启
- 使用配置文件前台启动(调试用):sudo -u mongodb /usr/local/mongodb/bin/mongod -f /etc/mongod.conf
- 使用 systemd 管理(推荐):
- 创建服务文件 /etc/systemd/system/mongodb.service(若通过包管理器安装,通常已自带):
- [Unit]
- Description=MongoDB Database Server
- After=network.target
- [Service]
- User=mongodb
- Group=mongodb
- ExecStart=/usr/local/mongodb/bin/mongod -f /etc/mongod.conf
- Restart=always
- PIDFile=/var/run/mongodb/mongod.pid
- [Install]
- WantedBy=multi-user.target
- [Unit]
- 启用与启动:sudo systemctl daemon-reload & & sudo systemctl start mongodb & & sudo systemctl enable mongodb
- 验证:sudo systemctl status mongodb;查看日志:tail -f /var/log/mongodb/mongod.log。
- 创建服务文件 /etc/systemd/system/mongodb.service(若通过包管理器安装,通常已自带):
五 安全与远程访问
- 启用认证与创建管理员:
- 在 mongod.conf 中将 security.authorization 设为 enabled 并重启服务。
- 进入 shell:mongo(或 mongosh),切换到 admin 库并创建用户:
- use admin
- db.createUser({ user: “admin”, pwd: “StrongPassw0rd”, roles: [{ role: “userAdminAnyDatabase”, db: “admin” } , “readWriteAnyDatabase”] } )
- 远程访问与防火墙:
- 将 net.bindIp 设为 0.0.0.0(或内网地址),并确保仅开放必要网段。
- 开放防火墙端口(示例 firewalld):sudo firewall-cmd --zone=public --add-port=27017/tcp --permanent & & sudo firewall-cmd --reload
- 常见问题排查:
- 启动失败:优先查看 /var/log/mongodb/mongod.log 的错误信息(路径与权限问题最常见)。
- 远程连不上:检查 bindIp、云安全组/本机防火墙、以及监听端口是否可达。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: MongoDB在Linux中的配置步骤
本文地址: https://pptw.com/jishu/758107.html
