在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
)以获取详细错误信息。