在CentOS上安装MongoDB的步骤如下:
更新系统:
sudo yum update
添加MongoDB官方仓库:
创建一个名为 /etc/yum.repos.d/mongodb-org-4.4.repo
的文件,并添加以下内容(适用于MongoDB 4.4版本):
[mongodb-org-4.4]
name=MongoDB Repository
baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/4.4/x86_64/
gpgcheck=1
enabled=1
gpgkey=https://www.mongodb.org/static/pgp/server-4.4.asc
如果需要安装其他版本的MongoDB,可以修改仓库文件中的版本号。
安装依赖包:
sudo yum install -y libcurl openssl
下载并解压MongoDB安装包:
wget https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-rhel70-4.0.14.tgz
tar -zxvf mongodb-linux-x86_64-rhel70-4.0.14.tgz
移动解压后的目录:
sudo mv mongodb-linux-x86_64-rhel70-4.0.14 /opt/mongodb
创建配置与数据目录:
sudo mkdir -p /opt/mongodb/conf /opt/mongodb/log /data/db
创建运行用户并优化系统参数:
sudo groupadd mongo -g 777
sudo useradd mongo -g 777 -u 777 -M -s /sbin/nologin
关闭透明大页:
echo 'never' > /sys/kernel/mm/transparent_hugepage/enabled
echo 'never' > /sys/kernel/mm/transparent_hugepage/defrag
设置资源限制:
sudo cat >> /etc/security/limits.conf << 'EOF'
mongo - nofile 65535
mongo - nproc 32767
EOF
添加Systemd服务并启动:
创建 /usr/lib/systemd/system/mongod.service
文件并添加以下内容:
[Unit]
Description=MongoDB Database Server
After=network.target
[Service]
User=mongo
Group=mongo
ExecStart=/opt/mongodb/bin/mongod -f /opt/mongodb/conf/mongodb.conf
ExecStartPre=/usr/bin/chown -R mongo:mongo /opt/mongodb
ExecStartPre=/usr/bin/chown -R mongo:mongo /data/db
PermissionsStartOnly=true
PIDFile=/opt/mongodb/pid/mongod.pid
Type=forking
LimitNOFILE=64000
LimitNPROC=64000
LimitMEMLOCK=infinity
TasksMax=infinity
TasksAccounting=false
[Install]
WantedBy=multi-user.target
EOF
sudo systemctl daemon-reload
sudo chown -R mongo:mongo /opt/mongodb*
sudo chown -R mongo:mongo /data/*
sudo systemctl start mongod
sudo systemctl enable mongod
修改默认配置文件:
MongoDB的默认配置文件位于 /opt/mongodb/conf/mongodb.conf
。你可以根据需要修改这个文件。例如,修改绑定IP以允许远程访问:
net:
bindIp: 0.0.0.0 # 允许所有IP访问
port: 27017 # 默认端口
重启MongoDB服务:
修改配置文件后,重启MongoDB服务以应用更改:
sudo systemctl restart mongod
防火墙配置(可选):
如果你的系统启用了防火墙(如 firewalld
),需要允许MongoDB的默认端口(27017)通过:
sudo firewall-cmd --zone public --add-port 27017/tcp --permanent
sudo firewall-cmd --reload
连接MongoDB:
使用MongoDB的Shell连接到数据库:
mongo
通过以上步骤,你应该能够在CentOS上成功安装并运行MongoDB。如果在安装过程中遇到任何问题,请检查日志文件(通常位于 /var/log/mongodb/mongod.log
)以获取详细错误信息。