安装Mongodb
使用Yum,我们可以很方便的安装Mongodb:
yum install mongodb mongodb-server |
yum会自动帮我们生成Mongodb的配置文件,其中最主要的配置文件/etc/mongod.conf部分内容如下:
# Comma separated list of ip addresses to listen on (all local ips by default) |
默认配置指定了IP、端口、数据文件、日志文件等等,十分详尽,可以根据自己的实际情况进行修改,一般用默认的就行了。
配置开机自启动
打开/etc/rc.d/rc.local文件,追加/usr/bin/mongod –config /etc/mongod.conf至行尾,保存即可。
尝试启动
service mongod start |
结果失败了,提示我使用指令systemctl status mongodb查看原因,指令输出类似这样:
mongodb.service - High-performance, schema-free document-oriented database |
仍然看不出哪里有问题,直到google到了这样的字眼sudo chown -R mongodb: /var/{lib,log}/mongodb,恍然大悟。
使用Yum安装Mongodb会默认创建mongo用户,该用户的家目录是/var/lib/mongodb, 但是日志文件/var/log/mongodb/mongod.log和进程ID文件/var/run/mongodb/mongod.pid在其他的目录下面,这些目录属主不是mongodb用户,所以写入的时候会报权限问题。
修改目录/var/log/mongodb和/var/run/mongodb属主为monodb即可。
总结
Yum安装软件十分简单,但是由于Mongodb的安装包忽略了权限问题,而且出错日志十分不明显,导致我花费数十分钟才解决。
其实Linux下权限问题十分常见,发生问题不知道原因的时候都可以往这方面尝试一下。
更新
后来想了一下,应该不是安装包的问题,这问题未免也太低级了。
极有可能是我安装好的时候使用自己的帐号运行过服务,所以产生的配置文件及目录的属主是我平常用的帐号,因此mongodb这个用户没有写入和执行权限。