您好,登录后才能下订单哦!
密码登录
登录注册
点击 登录注册 即表示同意《亿速云用户服务条款》
# 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
默认配置文件通常位于:
- /etc/mongod.conf
(包管理安装)
- /usr/local/mongodb/etc/mongod.conf
(源码编译安装)
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
User/Group
:建议使用专用mongodb用户Restart
:配置服务异常退出时自动重启WantedBy
:定义启动级别sudo systemctl daemon-reload
sudo systemctl enable mongod
sudo systemctl start mongod
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
sudo chmod +x /etc/init.d/mongod
# CentOS/RHEL
chkconfig --add mongod
chkconfig mongod on
# Debian/Ubuntu
update-rc.d mongod defaults
sudo useradd -r -s /bin/false mongodb
sudo chown -R mongodb:mongodb /var/lib/mongodb
# /etc/mongod.conf
security:
authorization: enabled
net:
bindIp: 127.0.0.1
sudo systemctl stop mongod
sudo mongod --config /etc/mongod.conf
sudo shutdown -r now
# 重启后检查服务状态
systemctl status mongod
# 查看详细日志
journalctl -u mongod -xe
tail -n 50 /var/log/mongodb/mongod.log
net.port
配置项mongod --config /path/to/config --fork
测试# 修改systemd服务文件添加:
LimitFSIZE=infinity
LimitCPU=infinity
LimitAS=infinity
为每个实例创建独立的: 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月 “`
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。