Установка и запуск приложения Node.js на Centos 6.4

Published by 1 Comment

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

В этой статье описываются действия, необходимые для создания простого приложения «Hello World» в Node.js, запущенном на 64-битовой установке Centos. В руководстве используется последняя версия исходного кода (на данный момент это v0.10.4).

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

Для начала нужны сервер и SSH-клиент (в Windows используется Putty; системы Linux и Mac Os X, как правило, поставляются с SSH-клиентом). Получив root-пароль, можно установить SSH-соединение к серверу. Подключившись, нужно изменить пароль. Вероятно, также понадобится обновить репозиторий программ до последних версий:

yum -y update

Это обновит установленные на сервер программы до последних версий.

Выполнение команды yum может занять несколько минут. Затем нужно подготовить систему к установке программного обеспечения. Чтобы скомпилировать Node.js из последней версии исходного кода (на момент написания v0.10.4), нужно установить Development Tools – группу инструментов для компиляции программного обеспечения из исходных кодов.

yum -y groupinstall "Development Tools"

Эта команда скачает программы Development Tools, а также приложения, необходимые для компиляции Node.js.

Кроме того, нужно установить GNU screen –  программное обеспечение, которое позволяет подключиться к VPS и получить доступ к нескольким сессиям одновременно. Это очень удобно, особенно во время разработки приложения.

yum -y install screen

Установка Node.js

Теперь система готова к установке Node.js из исходного кода. Во-первых, нужно перейти в каталог /usr/src – как правило, именно здесь хранят исходные коды программного обеспечения.

cd /usr/src

Теперь скачайте последний сжатый архив исходного кода с сайта Node.js (используйте ссылку http://nodejs.org/download/).

wget http://nodejs.org/dist/v0.10.4/node-v0.10.4.tar.gz

Обратите внимание: чтобы использовать более свежую версию node.js, если такая имеется, нужно заменить URL.

Теперь нужно распаковать исходные файлы и переместить их в этот каталог.

tar zxf node-v0.10.4.tar.gz
cd node-v0.10.4

Когда исходный код извлечен, можно подготовить команды компилятора, выполнив скрипт configure:

./configure

Данный скрипт прочитает свойства системы и подготовит флаги компилятора (это может быть архитектура системы: 32/64-бит, специальные флаги CPU и т.д.). Теперь все готово к компиляции исходного кода. Чтобы сделать это, просто наберите:

make

Как правило, на выполнение этой задачи уходит больше всего времени (в данном случае компилирование заняло 6 минут 34 секунды). Когда компиляция завершена, нужно выполнить общесистемную установку:

make install

Последняя команда поместит скомпилированные двоичные файлы в системный путь, так что все пользователи могут использовать его без дополнительной настройки. По умолчанию двоичный код Node.js должен быть помещен в /usr/local/bin/node.

Установка Express.js

Когда установка Node.js завершена, можно сразу приступить к разработке, развернуть уже готовое приложение или создать приложение Express.js. Для установки Express.js нужно использовать npm (менеджер модулей node) и supervisor — вспомогательный модуль, который запускает приложения, мониторит изменения файлов (во время разработки приложения) и при необходимости перезапускает VPS.

Примечание: чтобы иметь возможность запускать исполняемый код в /usr/local/bin с помощью sudo, нужно добавить /usr/local/bin в secure_path, используя команду visudo.

sudo visudo

Найдите secure_path и вставьте :/usr/local/bin. Сделав это, приступайте к установке модулей express и supervisor:

npm -g install express express-generator supervisor

Команда npm -g install установит модули express и supervisor из репозитория npm и сделает их доступными общесистемно (флаг -g значит «global»).

Создание непривилегированного пользователя

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

Для начала нужно добавить пользователя. Замените exampleuser именем своего пользователя.

useradd exampleuser

Теперь установите пароль для этого пользователя:

passwd exampleuser

Теперь выйдите из системы и войдите как новый пользователь.

Это изменит оболочку входа с пользователя root на exampleuser (непривилегированного пользователя).

Создание приложения express

Express – это мощный фреймворк. Чтобы создать приложение, нужно просто набрать:

express hello

Данная команда создаст каталог hello и установить некоторые основные настройки для нового приложения. Перейдите в новый каталог и установите зависимости express:

cd hello && npm install

Часть команды npm install прочитает все зависимости модуля в файле package.json и установит их из репозитория программного обеспечения npm.

Начните новую сессию screen, чтобы иметь возможность закрыть приложение node, не прерывая его работы:

screen

В заключение можно запустить приложение с помощью модуля supervisor, установленного ранее.

supervisor ./bin/www

Теперь можно получить доступ к приложению express, указав IP сервера (например, http://111.222.33.44:5000/).

Tags: , , , , , , , , , ,

1 комментарий

  • Денис:

    Спасибо за статью! Только приступил к изучению NodeJS и хотел уточнить пару моментов:
    1. У меня VDS, на котором сейчас работает Nginx на фронт-энде (слушает 80-й порт) и в бэк-энде Apache. Возможно, что я ошибаюсь, но ощущение, что будет конфликт портов с NodeJS, ведь он тоже должен слушать 80-й порт. Если это так, то можно ли решить эту проблему «малой кровью»?
    2. И еще один непринципиальный вопросик от начинающего… У меня на сервере несколько пользователей, поэтому интересует решение ограничения доступа к использованию. Грубо говоря, два пользователя могут использовать, а остальные — нет. Или же NodeJS становится доступным глобально? Повторюсь, что это сейчас не важно, но на перспективу знать хотелось бы. Спасибо.

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *


*

Можно использовать следующие HTML-теги и атрибуты: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>