Linux下如何设置mongodb开机启动

发布时间:2022-01-26 10:13:48 作者:小新
来源:亿速云 阅读:281
# Linux下如何设置MongoDB开机启动

## 前言

MongoDB作为一款流行的NoSQL数据库,在Linux服务器上的部署非常普遍。对于生产环境而言,确保MongoDB服务能够在系统重启后自动启动是运维的基本要求。本文将详细介绍在主流Linux发行版(Systemd/SysVinit)中配置MongoDB开机自启的完整方案,包含权限管理、配置文件优化及故障排查等内容。

---

## 一、准备工作

### 1.1 确认MongoDB安装状态
```bash
# 检查MongoDB服务状态
systemctl status mongod      # Systemd系统
service mongod status        # SysVinit系统

# 验证安装路径
which mongod

1.2 获取配置文件位置

默认配置文件通常位于: - /etc/mongod.conf(包管理安装) - /usr/local/mongodb/etc/mongod.conf(源码编译安装)


二、Systemd系统配置(Ubuntu/CentOS 7+)

2.1 创建Systemd服务单元文件

sudo vi /etc/systemd/system/mongod.service

模板内容:

[Unit]
Description=MongoDB Database Server
After=network.target

[Service]
User=mongodb
Group=mongodb
ExecStart=/usr/bin/mongod --config /etc/mongod.conf
ExecReload=/bin/kill -HUP $MNPID
Restart=always
RestartSec=10
StandardOutput=syslog
StandardError=syslog
SyslogIdentifier=mongod

[Install]
WantedBy=multi-user.target

2.2 关键参数说明

2.3 启用开机启动

sudo systemctl daemon-reload
sudo systemctl enable mongod
sudo systemctl start mongod

三、SysVinit系统配置(CentOS 6等)

3.1 创建初始化脚本

sudo vi /etc/init.d/mongod

参考脚本:

#!/bin/sh
#
# mongod - Startup script for MongoDB

CONFIGFILE="/etc/mongod.conf"
DAEMON="/usr/bin/mongod"

case "$1" in
  start)
    echo "Starting MongoDB"
    $DAEMON --config $CONFIGFILE
    ;;
  stop)
    echo "Stopping MongoDB"
    killall mongod
    ;;
  *)
    echo "Usage: /etc/init.d/mongod {start|stop}"
    exit 1
    ;;
esac

exit 0

3.2 设置执行权限

sudo chmod +x /etc/init.d/mongod

3.3 添加至启动项

# CentOS/RHEL
chkconfig --add mongod
chkconfig mongod on

# Debian/Ubuntu
update-rc.d mongod defaults

四、权限与安全配置

4.1 创建专用用户

sudo useradd -r -s /bin/false mongodb
sudo chown -R mongodb:mongodb /var/lib/mongodb

4.2 配置文件安全设置

# /etc/mongod.conf
security:
  authorization: enabled
net:
  bindIp: 127.0.0.1

五、验证与测试

5.1 手动测试启动

sudo systemctl stop mongod
sudo mongod --config /etc/mongod.conf

5.2 模拟系统重启

sudo shutdown -r now
# 重启后检查服务状态
systemctl status mongod

六、常见问题排查

6.1 服务启动失败诊断

# 查看详细日志
journalctl -u mongod -xe
tail -n 50 /var/log/mongodb/mongod.log

6.2 典型错误解决方案


七、高级配置建议

7.1 资源限制调整

# 修改systemd服务文件添加:
LimitFSIZE=infinity
LimitCPU=infinity
LimitAS=infinity

7.2 多实例配置

为每个实例创建独立的: 1. 配置文件 2. 数据目录 3. systemd服务文件(如mongod-28017.service)


八、附录:各发行版差异

发行版 初始化系统 默认安装方式
Ubuntu 18+ Systemd apt
CentOS 7+ Systemd yum
Debian 9+ Systemd apt
CentOS 6 SysVinit 源码编译建议

总结

通过本文的Systemd/SysVinit配置方案,您已经掌握了在Linux系统中实现MongoDB开机自启的完整方法。建议生产环境中额外配置: 1. 完善的日志轮转 2. 监控告警机制 3. 定期备份方案

注意:对于Docker容器化的MongoDB,应通过--restart unless-stopped参数实现持久化。

最后更新:2023年10月 “`

推荐阅读:
  1. linux下安装mongodb
  2. mongodb之Linux下安装

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

linux mongodb

上一篇:Linux下怎么配置proftpd

下一篇:@Transactional注解怎么用

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》