本文介绍在Ubuntu 16.04 64bit Server上安装及配置MongoDB的主要步骤,首先是MongoDB的安装,参照官方文件档,主要包含以下几步:
- 为软件包管理系统导入MongoDB的GPG密钥
sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 0C49F3730359A14518585931BC711F9BA15703C6 - 为MongoDB创建列表文件
echo "deb [ arch=amd64,arm64 ] http://repo.mongodb.org/apt/ubuntu xenial/mongodb-org/3.4 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-3.4.list - 重新加载本地的软件包数据库
sudo apt-get update - 安装MongoDB软件包
sudo apt-get install -y mongodb-org
安装完成后,可以通过命令sudo service mongod start来启动MongoDB服务,然后打开/var/log/mongodb/mongod.log文件(MongoDB的默认日志文件),如果能够看到“[initandlisten] waiting for connections on port 27017”,则表示MongoDB服务已经正常启动,也可以通过Mongo Shell来连接数据库(未配置远程访问时只能本地连接),在终端中输入mongo即可打开Mongo Shell,作为测试,可以在Mongo Shell中输入db,默认情况下应该返回test,这是MongoDB的默认数据库
MongoDB安装完成后默认只允许本地访问,如果需要远程访问,还需进行如下配置:
- 用vi编辑/etc/mongodb.conf文件,将其中的“bindIp: 127.0.0.1”一行注释掉
- 重启MongoDB服务:service mongod restart,这样就可以远程访问MongoDB
MongoDB默认情况下将数据文件及日志文件分别存放在/var/lib/mongodb及/var/log/mongodb下,我们可以通过配置文件更改默认路径:
- 用vi打开/etc/mongodb.conf文件,将storage中的dbPath和systemLog中的path属性分别改成我们期望的路径
- 通过以下命令行启动MongoDB后台进程
mongod -f /etc/mongod.conf &
上述配置完成后,可以尝试在远程通过python的MongoDB驱动pymongo来连接和使用MongoDB:
- 在客户端安装pymongo
pip install pymongo - 然后执行以下命令向MongoDB中Insert一条数据:
from pymongo import MongoClient
client = MongoClient('xxx.xxx.xxx.xxx',27017)
db = client.cache
db.webpage.insert_one({'url':'XXXXXX','html':'XXXXXXX'})