在CentOS上配置MongoDB网络时,有几个关键步骤和技巧需要注意,以确保数据库的高效运行和安全性。以下是一些详细的配置技巧:
安装 EPEL 仓库:
sudo yum install epel-release
安装 MongoDB:
sudo yum install mongodb-org
启动并启用 MongoDB 服务:
sudo systemctl start mongod
sudo systemctl enable mongod
验证安装:
sudo systemctl status mongod
下载并解压 MongoDB 源代码:
wget https://www.mongodb.com/try/download/community
tar -xvf mongodb-linux-x86_64-rhel70-4.4.4.tgz
cd mongodb-linux-x86_64-rhel70-4.4.4
创建数据存储目录:
sudo mkdir -p /data/db
编译并安装 MongoDB:
sudo yum groupinstall "Development Tools"
sudo yum install libcurl-devel openssl-devel
sudo npm install -g mongodb-prebuilt
sudo prebuild --arch=x86_64 --dbpath=/data/db --prefix=/usr/local/mongodb
创建并配置 mongod.conf
文件:
sudo nano /etc/mongod.conf
内容示例:
storage:
dbPath: /data/db
journal:
enabled: true
systemLog:
destination: file
logAppend: true
path: /var/log/mongodb/mongod.log
net:
bindIp: 0.0.0.0
port: 27017
security:
authorization: enabled
启动 MongoDB 服务:
sudo mongod --config /etc/mongod.conf
启用开机自启动:
sudo systemctl enable mongod
检查服务状态:
sudo systemctl status mongod
数据存储路径:
storage:
dbPath: /var/lib/mongo
网络配置:
net:
bindIp: 0.0.0.0
port: 27017
日志配置:
systemLog:
destination: file
logAppend: true
path: /var/log/mongodb/mongod.log
安全配置:
security:
authorization: enabled
安装 firewalld(如果尚未安装):
sudo yum install firewalld
启动并启用 firewalld 服务:
sudo systemctl start firewalld
sudo systemctl enable firewalld
允许 MongoDB 端口:
sudo firewall-cmd --zone=public --add-port=27017/tcp --permanent
sudo firewall-cmd --reload
查看防火墙状态:
sudo firewall-cmd --state
查看防火墙规则:
sudo firewall-cmd --list-all
查看默认端口:
netstat -tuln | grep 27017
修改端口(如果需要):
编辑 mongod.conf
文件,修改 net.port
配置项,然后重启 MongoDB 服务。
允许远程访问:
在 mongod.conf
文件中,将 bindIp
设置为 0.0.0.0
,以允许外部访问。
net:
bindIp: 0.0.0.0
认证配置: 启用认证并创建用户:
sudo mongo
use admin
db.createUser({
user: "root",
pwd: "your_password",
roles: [ { role: "userAdminAnyDatabase", db: "admin" } ]
})
编辑 mongod.conf
文件,启用认证:
security:
authorization: enabled
查看日志:
tail -f /var/log/mongodb/mongod.log
使用 mongostat
和 mongotop
监控性能:
sudo yum install mongostat mongotop
mongostat
mongotop
通过以上步骤和技巧,您可以在CentOS上高效地配置和管理MongoDB的网络设置,确保其高性能和安全性。