Установка и запуск приложения Node.js на Centos 6.4
Как говорится на домашней странице проекта, 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: CentOS, CentOS 6.4, Express.js, GNU screen, Javascript, Linux, Node.js, npm, SSH, supervisor, VPS
1 комментарий
Спасибо за статью! Только приступил к изучению NodeJS и хотел уточнить пару моментов:
1. У меня VDS, на котором сейчас работает Nginx на фронт-энде (слушает 80-й порт) и в бэк-энде Apache. Возможно, что я ошибаюсь, но ощущение, что будет конфликт портов с NodeJS, ведь он тоже должен слушать 80-й порт. Если это так, то можно ли решить эту проблему “малой кровью”?
2. И еще один непринципиальный вопросик от начинающего… У меня на сервере несколько пользователей, поэтому интересует решение ограничения доступа к использованию. Грубо говоря, два пользователя могут использовать, а остальные – нет. Или же NodeJS становится доступным глобально? Повторюсь, что это сейчас не важно, но на перспективу знать хотелось бы. Спасибо.