MongoDB
1 理论部分
请参阅如下链接
2 实践部分
2.1 基础配置
2.1.1 解决依赖关系
yum install -y cyrus-sasl cyrus-sasl-gssapi cyrus-sasl-plain krb5-libs libcurl libpcap lm_sensors-libs net-snmp net-snmp-agent-libs openldap openssl rpm-libs tcp_wrappers-libs
2.1.2 增加运行用户
groupadd -g 981 mongod useradd -u 981 -g 981 -d /var/lib/mongo -s /bin/bash mongod
2.1.3 下载软件二进制包
cd ~ wget https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-3.0.3.tgz
2.1.4 解压二进制包
tar -xvf mongodb-linux-x86_64-3.0.3.tgz
2.1.5 部署软件
mkdir /usr/mongodb cp -R mongodb-linux-x86_64-3.0.3 /usr/mongodb/ chown -R mongod:mongod /usr/mongodb/mongodb-linux-x86_64-3.0.3 chmod -R 770 /usr/mongodb/mongodb-linux-x86_64-3.0.3
2.1.6 配置环境变量
vim /etc/profile.d/mongodb.sh
加入如下内容:
export PATH=/usr/mongodb/mongodb-linux-x86_64-3.0.3/bin:$PATH
2.1.7 部署数据目录
mkdir -p /data/mongodb chown mongod:mongod /data/mongodb chmod 770 /data/mongodb
2.1.8 部署日志目录
mkdir /var/log/mongodb chown root:mongod /var/log/mongodb chmod 770 /var/log/mongodb
2.1.9 部署pid目录
mkdir /var/run/mongodb chown root:mongod /var/run/mongodb chmod 770 /var/run/mongodb
2.2 安装部分
2.2.1 部署配置文件
mkdir /etc/mongodb vim /etc/mongodb/mongodb.conf
加入如下配置:
logpath=/var/log/mongodb/mongod.log logappend=true fork=true port=27017 dbpath=/data/mongodb pidfilepath=/var/run/mongodb/mongod.pid bind_ip=0.0.0.0
配置合适的权限:
chown root:root -R /etc/mongodb chmod 655 -R /etc/mongodb
2.2.2 测试程序启动
/usr/mongodb/mongodb-linux-x86_64-3.0.3/bin/mongod --config=/etc/mongodb/mongodb.conf
可见提示以下信息:
about to fork child process, waiting until server is ready for connections. forked process: 27284 child process started successfully, parent exiting
2.2.3 配置管理员账号
mongo
操作向导如下:
use admin db.createUser( { user: "root", pwd: "abc123", roles: [ { role: "userAdminAnyDatabase", db: "admin" } ] } )
2.2.4 手动关闭程序
/usr/mongodb/mongodb-linux-x86_64-3.0.3/bin/mongod --shutdown --config=/etc/mongodb/mongodb.conf
2.2.5 配置服务启动脚本
vim /etc/systemd/system/mongod.service
输入如下配置:
[Unit] Description=MongoDB service After=syslog.target network.target [Service] Type=forking ExecStartPre=/bin/sh -c 'mkdir -p /var/run/mongodb;chown root:mongod /var/run/mongodb;chmod 770 /var/run/mongodb' ExecStart=/sbin/runuser -l mongod -c '/usr/mongodb/mongodb-linux-x86_64-3.0.3/bin/mongod --auth --config=/etc/mongodb/mongodb.conf' PIDFile=/var/run/mongodb/mongod.pid ExecStop=/bin/sh -c '/usr/mongodb/mongodb-linux-x86_64-3.0.3/bin/mongod --shutdown --config=/etc/mongodb/mongodb.conf' # (file size) LimitFSIZE=infinity # (cpu time) LimitCPU=infinity # (virtual memory size) LimitAS=infinity # (open files) LimitNOFILE=64000 # (processes/threads) LimitNPROC=64000 [Install] WantedBy=multi-user.target
2.2.6 重载守护进程
systemctl daemon-reload
2.2.7 启动守护进程并配置默认启动
systemctl start mongod.service systemctl enable mongod.service
2.2.8 其他控制服务的命令
systemctl stop mongod.service systemctl restart mongod.service systemctl status mongod.service
2.2.9 配置防火墙
firewall-cmd --permanent --add-port 27017/tcp firewall-cmd --reload firewall-cmd --list-all
2.3 测试部署的服务
mongo -u "root" -p "abc123" --authenticationDatabase "admin" mongo
命令向导如下:
use admin db.auth("root","abc123")
2.4 配置日志切割
参考资料:
===========================
https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-3.0.3.tgz
https://docs.mongodb.com/manual/tutorial/install-mongodb-on-linux/
没有评论