Установка MongoDB + Python на Ubuntu

Пытаюсь завести привычку записывать то что делаю, так как потом просто могу не вспомнить как решал ту или иную проблему.
На сей раз задача звучала следующим образом:
Необходимо хранить кучи данных в быстрой базе, которая должна работать на linux и быть максимально простой , т.е я в нее сладирую она это хранит, и все на данном этапе разработке приложения это все что от нее нужно. Так же она должна иметь Python API. Так как монго я уже немного трогал, решено было использовать ее.
Установка Mongo
1) Скачать свежию версию монго c сайта http://www.mongodb.org/downloads. Для linux_64x последним стабильным на сегодняшний день релизом будет 1.8.1.
wget http://fastdl.mongodb.org/linux/mongodb-linux-x86_64-1.8.1.tgz
2) Создать папку /srv/bases/mongo
mkdir -p /srv/bases/mongo
3) Распаковать скаченный дистрибутив.
tar xzf mongodb-linux-x86_64-1.8.1.tgz
4) Копируем из разпакованного диструбутива папку bin в директорию /srv/bases/mongo
cd mongodb-linux-x86_64-1.8.1 cp -r bin /srv/base/mongodb/
5) В папке монго /srv/bases/mongo создаем дополнительные папки log, config, dbs. Они нам понадобятся для удобства использования базы.
cd /srv/bases/mongo mkdir log config dbs
6) Создать файл конфига и отредактировать его
touch /srv/bases/mongo/config/master.cfg nano /srv/bases/mongo/config/master.cfg
Содержимое файла:
dbpath = /srv/base/mongodb/dbs/master/ # - путь до ноды master = true # - флаг что она мастер bind_ip = 192.168.0.158 # - биндимся на выбранный адресс port = 60000 # - биндимсяна конкретный порт directoryperdb = true # - храним базы в разных файлах logpath = /srv/base/mongodb/log/master.log # - пишем лог в указанный файл
7) Добавляем путь до монго к стандартному пути. Для ubuntu правим файл /etc/environment
nano /etc/environment
Добавляем в конец /srv/base/mongodb/bin
PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/srv/base/mongodb/bin"
Работаем в Python
1) Устанавливаем библиотеку для Python
easy_install pymongo
2) Проверяем установку библиотеке
$ python
>>> import pymongo
Если ошибок импорта нет, то библиотека успешно установленна
3) Далее пишем "hello word" для теста соединения с базой
Содержание mongostart.py
# -*- coding: utf-8 -*-
import pymongo #@UnresolvedImport
import datetime
# Соединяемся с базой
conn = pymongo.Connection('192.168.0.158', 60000)
# Выводим имена баз
print conn.database_names()
# Выводим системную инфу
print conn.server_info()
# Создаем тестовыю базу
db = conn['testerBD']
# Создаем коллекцию
testerCol = db['testerCol']
# Создаем объект для сохраниения
post = {"author": "Seomazzi", "text": "Seomazzi blog post!", "tags": ["mongodb", "python", "pymongo", "ubuntu "],
'dt' : datetime.datetime(2011, 11, 10, 10, 45, 13)}
# Вставляем объект
testerCol.insert(post)
# Выводим все объекты коллекции
for test in testerCol.find():
print test
Вот и все. Мы установили MgongoDB, подключились Python`ом и по-быстрому записали данные.
PROFIT!!!
PROFIT!!!


