Как установить стек MEAN.JS на сервер Ubuntu 14.04

Вступление

MEAN.JS is a full-stack JavaScript development solution that pulls together some of the best JavaScript technologies so that you can get applications into production quickly and easily. MEAN.JS consists of MongoDB, ExpressJS, AngularJS, and Node.

В этом руководстве мы установим каждый из этих компонентов на сервер Ubuntu 14.04. Это даст нам приложения и структуру, необходимые для простого создания и развертывания приложений MEAN.

Предпосылки

Чтобы начать это руководство, вам понадобится доступ к серверу Ubuntu 14.04.

Вам понадобится учетная запись пользователя без полномочий root с правамиsudo, чтобы правильно установить и настроить компоненты, с которыми мы будем работать. Следуйте нашимUbuntu 14.04 initial server setup guide, чтобы создать учетную запись этого типа.

Когда вы закончите с первоначальной настройкой вашего сервера, войдите в систему под пользователем без полномочий root и продолжайте работу с этим руководством.

Загрузите и установите MongoDB и зависимости через Apt

В этом руководстве мы будем устанавливать программное обеспечение, используя различные методы, в зависимости от требований каждого проекта. Первый набор установок будет использоватьapt, систему управления пакетами Ubuntu.

Прежде чем мы сможем начать установку программного обеспечения, мы добавим дополнительный репозиторий с последними пакетами MongoDB. Этот репозиторий предоставляется самим проектом MongoDB, поэтому он всегда должен иметь последние стабильные версии MongoDB.

Во-первых, мы должны добавить ключ команды MongoDB в список доверенных ключей нашей системы. Это позволит нам подтвердить, что пакеты являются подлинными. Следующая команда добавит правильный ключ в наш список (при желании вы можете проверить идентификатор ключа черезMongoDB’s official documentation):

sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 7F0CEB10

Теперь, когда мы доверяем пакетам, подписанным сопровождающими MongoDB, нам нужно добавить ссылку на фактический репозиторий в нашу конфигурациюapt. Мы можем создать отдельный файл, который будет полученapt с правильной ссылкой на репозиторий, набрав:

echo 'deb http://downloads-distro.mongodb.org/repo/ubuntu-upstart dist 10gen' | sudo tee /etc/apt/sources.list.d/mongodb.list

Наша система теперь настроена с новым хранилищем MongoDB. Мы можем обновить локальный кэш пакетов нашей системы, чтобы он знал о новых пакетах, а затем мы можем установить необходимое программное обеспечение.

Мы будем устанавливать пакеты MongoDB для использования в качестве нашей базы данных,git, чтобы помочь нам с более поздними установками, и некоторые пакеты, которые нам понадобятся в качестве зависимостей и построений зависимостей для Node:

sudo apt-get update
sudo apt-get install mongodb-org git build-essential openssl libssl-dev pkg-config

После завершения установки мы можем перейти к сборке Node.

Загрузка, сборка и установка узла из исходного кода

Node - это очень быстро развивающийся проект, который часто выпускает релизы. Чтобы получить актуальную копию Node, созданную для работы в нашей конкретной системе, мы будем загружать самый последний исходный код и компилировать двоичный файл вручную. Это довольно простая процедура.

Сначала перейдите кdownload section of the Node website. В главном разделе страницы есть ссылки на скачивание, разделенные операционной системой, а также ссылка на исходный код в правом верхнем углу загрузок:

Node source code link

Щелкните правой кнопкой мыши ссылку на исходный код и выберите «Скопировать адрес ссылки» или любой другой аналогичный параметр, который предоставляет ваш браузер.

Вернувшись на сервер, перейдите в свой домашний каталог и используйте командуwget, чтобы загрузить исходный код по только что скопированной ссылке. Ваш исходный URL-адрес узла, скорее всего, будет отличаться от приведенного ниже:

cd ~
wget http://nodejs.org/dist/v0.10.33/node-v0.10.33.tar.gz

После загрузки файла распакуйте архив с помощью командыtar:

tar xzvf node-v*

Это создаст структуру каталогов, которая содержит исходный код. Перейдите в новый каталог:

cd node-v*

Поскольку мы уже установили все зависимости Node с помощьюapt в последнем разделе, мы можем сразу начать сборку программного обеспечения. Сконфигурируйте и соберите программное обеспечение с помощью этих команд:

./configure
make

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

sudo make install

Node теперь установлен в нашей системе (вместе с некоторыми вспомогательными приложениями). Прежде чем мы продолжим, мы можем избавиться как от архива исходного кода, так и от каталога исходного кода, чтобы поддерживать чистоту нашей системы:

cd ~
rm -rf ~/node-v*

Установите остальные компоненты с помощью NPM, Git и Bower.

Теперь, когда у нас установлен Node, у нас есть доступ к диспетчеру пакетовnpm, который мы можем использовать для установки некоторого другого необходимого нам программного обеспечения.

MEAN.JS uses a separate package manager, called bower, to manage front-end application packages. Он также использует Grunt Task Runner для автоматизации общих задач. Поскольку это пакеты управления, которые должны быть доступны, чтобы помочь нам с каждым создаваемым приложением, мы должны сообщитьnpm, что они нам нужны глобально:

sudo npm install -g bower grunt-cli

Теперь у нас наконец-то установлены все необходимые пакеты. Мы можем перейти к установке фактического шаблона MEAN.JS, используемого для создания приложений. Мы клонируем официальный репозиторий GitHub в каталог/opt/mean, чтобы получить самую последнюю версию проекта:

sudo git clone https://github.com/meanjs/mean.git /opt/mean

Войдите в каталог и скажитеnpm установить все пакеты, на которые ссылается проект. Нам нужно использоватьsudo, поскольку мы находимся в системном каталоге:

cd /opt/mean
sudo npm install

Наконец, поскольку мы работаем в системном каталоге, нам нужно вызватьbower сsudo и опцией--allow-root, чтобы установить и настроить наши внешние пакеты:

sudo bower --allow-root --config.interactive=false install

Посмотреть результаты

MEAN.JS is now completely installed. Мы можем запустить пример приложения, используя Grunt Task Runner в каталоге нашего проекта. Это запустит приложение и позволит ему начать принимать запросы:

cd /opt/mean
grunt

Как только процесс начнется, вы можете посетить доменное имя или IP-адрес вашего сервера в веб-браузере через порт «3000»:

http://server_domain_or_IP:3000

Вы должны увидеть пример приложения MEAN.JS:

MEAN.JS sample application

Заключение

Теперь, когда у вас есть необходимые компоненты и шаблон MEAN.JS, вы можете приступить к созданию и развертыванию собственных приложений. Посмотритеdocumentation on MEAN.JS website for specific help on working with MEAN.JS.

После того, как ваше приложение будет запущено и запущено, вы, вероятно, захотите настроить обратный прокси-сервер на сервере приложений, чтобы обеспечить подключение к своим приложениям. Мы рассмотрим это в следующем руководстве.

Related