Связаться по:
vkarabedyants Telegram Viber
+7 (499) 350-10-69

Блог о системном администрировании серверов и сайтов

Установка, настройка программного обеспечения Linux, Windows операционных систем

Установка MongoDB и Ruby

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

  • Установка 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).

Если вы планируете использовать Ruby и MongoDB профессионально, рекомендую использовать Mac OS или Linux. Далее будут представлены детальные  инструкции с примерами для Ubuntu или Mac OS.  Для хостинга баз данных MongoDB, я лично рекомендую использовать Linux.

Установка Ruby

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

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

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

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

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

rvm list known

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

$ rvm list known
# MRI Rubies
[ruby-]1.8.6[-p420]
[ruby-]1.8.6-head
[ruby-]1.8.7[-p352]
[ruby-]1.8.7-head
[ruby-]1.9.1-p378
[ruby-]1.9.1[-p431]
[ruby-]1.9.1-head
[ruby-]1.9.2-p180
[ruby-]1.9.2[-p290]
[ruby-]1.9.2-head
[ruby-]1.9.3-preview1
[ruby-]1.9.3-rc1
[ruby-]1.9.3[-p0]
[ruby-]1.9.3-head
ruby-head
# GoRuby
goruby
# JRuby
jruby-1.2.0
jruby-1.3.1
jruby-1.4.0
jruby-1.6.1
jruby-1.6.2
jruby-1.6.3
jruby-1.6.4
jruby[-1.6.5]
jruby-head
# Rubinius
rbx-1.0.1
rbx-1.1.1
rbx-1.2.3
rbx-1.2.4
rbx[-head]
rbx-2.0.0pre
# Ruby Enterprise Edition
ree-1.8.6
ree[-1.8.7][-2011.03]
ree-1.8.6-head
ree-1.8.7-head
# Kiji
kiji
# MagLev
maglev[-26852]
maglev-head
# Mac OS X Snow Leopard Only
macruby[-0.10]
macruby-nightly
macruby-head
# IronRuby -- Not implemented yet.
ironruby-0.9.3
ironruby-1.0-rc2
ironruby-head

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

rvm package install readline
rvm package install iconv
rvm package install zlib
rvm package install openssl

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

rvm install 1.9.3

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

export rvm_path=~/.rvm
rvm 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. Мы должны увидеть нечто похожее на следующее на нашем экране:

rvm install 1.9.3
Installing Ruby from source to: /Users/user/.rvm/rubies/ruby-1.9.3-p0,
this may take a while depending on your cpu(s)...
ruby-1.9.3-p0 - #fetching
ruby-1.9.3-p0 - #downloading
ruby-1.9.3-p0, this may take a while depending on your connection...
...
ruby-1.9.3-p0 - #extracting
ruby-1.9.3-p0 to /Users/user/.rvm/src/ruby-1.9.3-p0
ruby-1.9.3-p0 - #extracted to /Users/user/.rvm/src/ruby-1.9.3-p0
ruby-1.9.3-p0 - #configuring
ruby-1.9.3-p0 - #compiling
ruby-1.9.3-p0 - #installing
...
Install of ruby-1.9.3-p0 - #complete

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

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

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

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

rvm –create –rvmrc use 1.9.3%myproject

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

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

Установка MongoDB

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

brew install MongoDB

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

cd /usr/local/
curl http://fastdl.mongodb.org/linux/mongodb-linux-i686-2.0.2.tgz >
mongo.tgz
tar xf mongo.tgz
ln –s mongodb-linux-i686-2.0.2 MongoDB

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

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

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

# Store data in /usr/local/var/mongodb instead of the default /data/db
dbpath = /usr/local/var/mongodb
# Only accept local connections
bind_ip = 127.0.0.1

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

Запуск MongoDB

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

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

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

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

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

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

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

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

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

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

Оставить комментарий

Лимит времени истёк. Пожалуйста, перезагрузите CAPTCHA.