Rate this post

В данной статье мы рассмотрим следующие моменты:n

  • Установка Ruby используя RVM
  • Установка MongoDB
  • Конфигурация MongoDB

Для начала определим минимальные системные требования для установки Ruby и MongoDB. Нам понадобится сверхмощный сервер? Нет! Наоборот любая стандартная рабочая станция или ноутбук подойдут для установки Ruby и MongoDB. Убедитесь, что у вас есть по крайней мере 1 ГБ памяти и более 32 Гб дискового пространства. Какая операционная система? Ruby и MongoDB обе кросс-платформенно совместимые системы. Это означает, что они могут работать на любой ОС Linux (например Ubuntu, Red Hat, Fedora, Gentoo, и SuSE), Mac OS (например Leopard, Snow Leopard, и Lion) или Windows (например XP, 2000, и 7).nnЕсли вы планируете использовать Ruby и MongoDB профессионально, рекомендую использовать Mac OS или Linux. Далее будут представлены детальные  инструкции с примерами для Ubuntu или Mac OS.  Для хостинга баз данных MongoDB, я лично рекомендую использовать Linux.n

Установка Ruby

Я рекомендую использовать RVM (Ruby Version Manager) для установки Ruby.n

Использование RVM на Linux или Mac OS

В Linux или Mac OS, вы можете запустить команду, чтобы установить RVM следующим образом:n

curl -L get.rvm.io | bash -s stablensource ~/.rvm/scripts/'rvm'

После успешного выполнения команды вы можете проверить:n

rvm list known

Если вы успешно установили RVM, то предыдущая команда должна показать вам весь список Ruby. Вы заметите, что есть довольно много реализаций Ruby (MRI Ruby, JRuby, Rubinius, REE, и другие). Мы собираемся установить MRI Ruby.nВот, что вы увидите, если вы успешно выполнили предыдущую команду:n

$ rvm list knownn# MRI Rubiesn[ruby-]1.8.6[-p420]n[ruby-]1.8.6-headn[ruby-]1.8.7[-p352]n[ruby-]1.8.7-headn[ruby-]1.9.1-p378n[ruby-]1.9.1[-p431]n[ruby-]1.9.1-headn[ruby-]1.9.2-p180n[ruby-]1.9.2[-p290]n[ruby-]1.9.2-headn[ruby-]1.9.3-preview1n[ruby-]1.9.3-rc1n[ruby-]1.9.3[-p0]n[ruby-]1.9.3-headnruby-headn# GoRubyngorubyn# JRubynjruby-1.2.0njruby-1.3.1njruby-1.4.0njruby-1.6.1njruby-1.6.2njruby-1.6.3njruby-1.6.4njruby[-1.6.5]njruby-headn# Rubiniusnrbx-1.0.1nrbx-1.1.1nrbx-1.2.3nrbx-1.2.4nrbx[-head]nrbx-2.0.0pren# Ruby Enterprise Editionnree-1.8.6nree[-1.8.7][-2011.03]nree-1.8.6-headnree-1.8.7-headn# Kijinkijin# MagLevnmaglev[-26852]nmaglev-headn# Mac OS X Snow Leopard Onlynmacruby[-0.10]nmacruby-nightlynmacruby-headn# IronRuby -- Not implemented yet.nironruby-0.9.3nironruby-1.0-rc2nironruby-head

Прежде чем приступить к установке Ruby необходимо настроить RVM пакеты необходимые для установки. Установим стандартные пакеты необходимые для Ruby, выполним следующие команды:n

rvm package install readlinenrvm package install iconvnrvm package install zlibnrvm package install openssl

Предыдущие команды установят некоторые полезные библиотеки для всех Ruby. Эти библиотеки облегчают работу с командной строкой, интернационализации, сжатия, и SSL. Вы можете установить эти пакеты, даже после установки Ruby, но просто проще установить их в первую очередь.n

rvm install 1.9.3

Предыдущая команда установит Ruby 1.9.3. Тем не менее, при установке Ruby, мы можем предварительно настроить его установку. Итак, вот как мы это делаем:n

export rvm_path=~/.rvmnrvm install 1.9.3 --with-readline-dir=$rvm_path/usr --with-iconvdir=$rvm_path/usr --with-zlib-dir=$rvm_path/usr --with-openssl-dir=$rvm_path/usr

Таким образом мы установим в ручную настроенный Ruby 1.9.3. Мы должны увидеть нечто похожее на следующее на нашем экране:n

rvm install 1.9.3nInstalling Ruby from source to: /Users/user/.rvm/rubies/ruby-1.9.3-p0,nthis may take a while depending on your cpu(s)...nruby-1.9.3-p0 - #fetchingnruby-1.9.3-p0 - #downloadingnruby-1.9.3-p0, this may take a while depending on your connection...n...nruby-1.9.3-p0 - #extractingnruby-1.9.3-p0 to /Users/user/.rvm/src/ruby-1.9.3-p0nruby-1.9.3-p0 - #extracted to /Users/user/.rvm/src/ruby-1.9.3-p0nruby-1.9.3-p0 - #configuringnruby-1.9.3-p0 - #compilingnruby-1.9.3-p0 - #installingn...nInstall of ruby-1.9.3-p0 - #complete

Для автоматической загрузки RVM после перезагрузки машины добавим в наш профиль следующую запись:n

echo '[[ -s "$HOME/.rvm/scripts/rvm" ]] && . "$HOME/.rvm/scripts/rvm" #nLoad RVM function' >> ~/.bash_profile

Настройка RVM для проекта

Настройка RVM для проекта может быть сделана следующим образом:n

rvm –create –rvmrc use 1.9.3%myproject

Предыдущая команда позволяет настроить gemset для нашего проекта, создается файл .rvmrc и мы получаем собственное рабочее пространство.nGemset, как следует из названия, представляет собой набор, который загружаются для конкретной версии Ruby или проекта. Таким образом мы можем иметь несколько наборов для версий.n

cd /path/to/myproject Using ruby 1.9.2 p180 with gemset myproject

Установка MongoDB

MongoDB набор исполняемых файлов и библиотек, упакованных в архив. Все, что вам нужно сделать, это загрузить и распаковать архив. Что может быть проще?nВ Mac OS, у вас есть два популярных менеджеров пакетов Homebrew и MacPorts. Если вы используете Homebrew, просто выполните следующую команду:n

brew install MongoDB

Если вы не установлен brew, настоятельно рекомендуется установить его.nВот ручной способ установки MongoDB на любой Linux, Mac OS, или машины с Windows:n1 Скачать MongoDB из http://www.mongodb.org/downloads.n2 Извлеките файл .tgz в папку (желательно по системному пути).nНа любой Linux, вы можете выполнить следующие команды, чтобы загрузить и установить. Убедитесь что вы добавили путь /path/to/MongoDB/bin в переменную $PATH.n

cd /usr/local/ncurl http://fastdl.mongodb.org/linux/mongodb-linux-i686-2.0.2.tgz >nmongo.tgzntar xf mongo.tgznln –s mongodb-linux-i686-2.0.2 MongoDB

Для Windows, вы можете просто скачать файл ZIP и извлечь его в папку.n

Настройка сервера MongoDB

Прежде чем запустить mongodb сервер необходимо его настроить: путь где будут храниться данные, интерфейс для прослушивания и т.д. Все эти конфигурации хранятся в mongod.conf. Mongod.conf по умолчанию выглядит следующим образом и хранится, где установлена ​​в MongoDB нашем случае /usr/local/mongodb:n

# Store data in /usr/local/var/mongodb instead of the default /data/dbndbpath = /usr/local/var/mongodbn# Only accept local connectionsnbind_ip = 127.0.0.1

DBPATH указывает путь, где будут храниться данные. bind_ip это интерфейс, на котором сервер будет работать.n

Запуск MongoDB

Мы можем запустить сервер MongoDB с помощью следующей команды:n

sudo mongod --config /usr/local/mongodb/mongod.conf

Обратите внимание, если вы не укажите опцию —config, по умолчанию dbpath будет установлен в /data/db.nПри запуске сервера, если все хорошо, вы должны увидеть примерно следующее:n

sudo mongod --config /usr/local/mongodb/mongod.confnSat Sep 10 15:46:31 [initandlisten] MongoDB starting : pid=14914nport=27017 dbpath=/usr/local/var/mongodb 64-bitnSat Sep 10 15:46:31 [initandlisten] db version v2.0.2, pdfile version 4.5nSat Sep 10 15:46:31 [initandlisten] git version:nc206d77e94bc3b65c76681df5a6b605f68a2de05nSat Sep 10 15:46:31 [initandlisten] build sys info: Darwin erh2.10gen.ncc 9.6.0 Darwin Kernel Version 9.6.0: Mon Nov 24 17:37:00 PST 2008;nroot:xnu-1228.9.59~1/RELEASE_I386 i386 BOOST_LIB_VERSION=1_40nSat Sep 10 15:46:31 [initandlisten] journal dir=/usr/local/var/mongodb/njournalnSat Sep 10 15:46:31 [initandlisten] recover : no journal files present,nno recovery needednSat Sep 10 15:46:31 [initandlisten] waiting for connections on port 27017nSat Sep 10 15:46:31 [websvr] web admin interface listening on port 28017

Кратко, что значат эти записи:n

  • Сервер запущен с pid 14914 на порту 27017 (порт по умолчанию)
  • ‹Версия MongoDB сервера — 2.0.2
  • ‹‹Путь к файлу журналов  /usr/local/var/mongodb/journal
  • ‹‹Web админ консоль запущена на 28017 порту

Есть много параметров командной строки, которые позволяют нам использовать MongoDB различными способами.nНапример:n

  • —jsonp разрешает JSONP доступ.
  • —rest включает REST API.
  • Master/Slave, варианты репликации, параметры совместного доступа.

Остановка MongoDB сервера

Нажмите Ctrl + C, если процесс запущен на переднем плане. Если он работает в качестве демона, он имеетnего стандартный сценарий запуска и остановки. На таких  Linux системах как Ubuntu есть скрипты запуска остановки mongod демона. На Mac у вас есть launchd и launchct комманды для запуска и остановки служб. Для других ОС Linux скрипты запуска и остановки Вы можете найти в каталоге /etc/init.d.  На Windows используйте стандартную панель Control Panel для управления сервисами.