在CentOS上高效配置MongoDB可以分为几个步骤,包括安装、配置、启动服务以及设置安全选项。以下是详细的步骤:
添加MongoDB仓库:
首先,你需要添加MongoDB的Yum仓库。你可以从MongoDB官方网站下载对应的Yum仓库配置文件,然后将其放置在 /etc/yum.repos.d/ 目录下。
sudo vi /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/7/mongodb-org/4.4/x86_64/
gpgcheck=1
enabled=1
gpgkey=https://www.mongodb.org/static/pgp/server-4.4.asc
保存并退出编辑器。
安装MongoDB:
使用Yum安装MongoDB:
sudo yum install -y mongodb-org
创建配置文件:
在MongoDB的安装目录下创建一个配置文件,例如 /etc/mongod.conf:
sudo vi /etc/mongod.conf
编辑配置文件:
在配置文件中添加或修改以下配置项:
storage:
dbPath: /var/lib/mongo
journal:
enabled: true
systemLog:
destination: file
logAppend: true
path: /var/log/mongodb/mongod.log
net:
port: 27017
bindIp: 0.0.0.0 # 允许所有IP访问
fork: true # 以守护进程方式运行
security:
authorization: enabled
设置文件夹权限:
sudo mkdir -p /var/lib/mongo
sudo mkdir -p /var/log/mongodb
sudo chown -R mongodb:mongodb /var/lib/mongo
sudo chown -R mongodb:mongodb /var/log/mongodb
sudo chmod -R 0755 /var/lib/mongo
sudo chmod -R 0755 /var/log/mongodb
启动MongoDB服务:
使用以下命令启动MongoDB服务:
sudo systemctl start mongod
设置开机自启:
使用以下命令设置MongoDB服务开机自启:
sudo systemctl enable mongod
检查服务状态:
使用以下命令检查MongoDB服务的状态:
sudo systemctl status mongod
如果一切正常,你应该会看到类似以下的输出:
mongod.service - MongoDB Database Server
Loaded: loaded (/usr/lib/systemd/system/mongod.service; enabled; vendor preset: disabled)
Active: active (running) since Mon 2023-10-01 10:00:00 UTC; 1min ago
Main PID: 1234 (mongod)
CGroup: /system.slice/mongod.service
└─1234 /usr/bin/mongod --config /etc/mongod.conf
进入MongoDB shell:
使用以下命令进入MongoDB shell,验证安装是否成功:
mongo
如果你需要启用身份验证,可以在MongoDB配置文件中添加以下内容,并重启MongoDB服务:
security:
authorization: enabled
然后重启MongoDB服务:
sudo systemctl restart mongod
创建管理用户:
mongo use admin
db.createUser({
user: "admin",
pwd: "your_password",
roles: [ { role: "userAdminAnyDatabase", db: "admin" } ]
})
如果你需要从其他机器访问MongoDB,还需要开放相应的端口(默认是27017):
sudo firewall-cmd --zone=public --add-port=27017/tcp --permanent
sudo firewall-cmd --reload
以上步骤涵盖了在CentOS上安装和配置MongoDB的基本流程。根据你的具体需求,可能还需要进行更多的配置,如设置副本集、启用SSL连接等。