1. 安装MongoDB:选择可靠来源与版本
优先通过Linux发行版的包管理器(如Ubuntu的apt、CentOS的yum)安装MongoDB,确保软件包的完整性和安全性(如添加MongoDB官方GPG密钥、配置官方仓库)。若手动安装,需下载对应Linux架构(64位)的安装包(如.tgz格式),并解压至指定目录(如/usr/local/mongodb)。安装前需确认系统已安装必要依赖(如libcurl、openssl),避免编译或运行时报错。
2. 目录与权限:确保MongoDB进程访问权限
创建专用的数据存储目录(如/var/lib/mongodb)和日志目录(如/var/log/mongodb),并通过chown命令将目录所有权赋予MongoDB运行用户(通常为mongodb或当前用户),避免因权限不足导致启动失败。例如:
sudo mkdir -p /var/lib/mongodb /var/log/mongodb
sudo chown -R mongodb:mongodb /var/lib/mongodb /var/log/mongodb
若使用自定义目录,需确保路径无空格且权限正确。
3. 配置文件:关键参数精准设置
编辑/etc/mongod.conf(或自定义路径的配置文件),重点配置以下参数:
storage.dbPath指定数据存储目录,systemLog.path指定日志文件路径(需确保目录可写);net.port设置监听端口(默认27017),net.bindIp绑定IP地址(0.0.0.0允许所有IP访问,生产环境建议限制为特定IP);security.authorization设置为enabled以启用用户认证(需提前创建管理员用户),storage.journal.enabled设置为true以开启预写日志(防止数据损坏);processManagement.fork设置为true以启用守护进程模式(后台运行)。4. 安全配置:防范未授权访问与数据泄露
mongo shell创建管理员用户(分配userAdminAnyDatabase、readWriteAnyDatabase等角色),并在配置文件中开启authorization;ufw(Ubuntu)或firewall-cmd(CentOS)开放MongoDB端口(27017),仅允许可信IP访问;SELINUX=permissive)或完全禁用(SELINUX=disabled),避免阻止MongoDB正常运行。5. 性能优化:提升数据库运行效率
ulimit -n 64000,允许更多并发连接)、关闭透明大页(echo never | sudo tee /sys/kernel/mm/transparent_hugepage/enabled,减少内存管理开销)、优化内存脏页刷新(vm.dirty_background_ratio=10、vm.dirty_ratio=20,提升写入性能);storage.wiredTiger.engineConfig.cacheSizeGB,设置为物理内存的50%-70%,避免占用过多内存);db.collection.createIndex({ field: 1 })),减少查询时间;sharding.clusterRole),提高横向扩展能力;需要高可用时启用副本集(replication.replSetName),保障数据冗余。6. 服务管理:确保稳定运行
使用systemctl命令管理MongoDB服务:
sudo systemctl start mongod;sudo systemctl enable mongod;sudo systemctl status mongod(确认服务运行正常,无报错信息)。/var/log/mongodb/mongod.log),及时发现并解决启动或运行中的问题(如端口冲突、权限不足)。