Raspbian → Raspbian + Node.js на Raspberry Pi

Приобрёл себе этот микрокомпьютерчик и замыслил для начала поднять на нём небольшой сайт, а чтобы скучно не было, задумал этот сайт написать на JavaScript с серверной стороны. Да и просто для разминки мозгов.

Поскольку на борту самый обычный линукс на основе Debian, то всё показалось предельно простым, т.е.:

1
sudo apt-get install nodejs npm

Однако стоило посмотреть версию установленных паркетов, так сразу и стало печально. И дело не только в циферках (0.6.19 для nodejs и 1.1.4 для npm), тот же модуль forever уже не запустишь. Хотя и сам Debian тоже не радует дремучестью своих пакетов, ну да ладно, хотят люди стабильности - пусть им будет стабильность :) А я пошёл гуглить.

И, естественно, нагуглил. Ниже будет краткая выжимка из интернетов.

Для начала создаём директорию, где будут находиться файлы Node.js, скачиваем сами файлы и копируем их в подготовленную директорию

1
2
3
4
5
sudo mkdir /opt/nodejs
cd /tmp
wget http://nodejs.org/dist/v0.10.26/node-v0.10.26-linux-arm-pi.tar.gz
tar xvzf node-v0.10.26-linux-arm-pi.tar.gz
sudo cp -r node-v0.10.26-linux-arm-pi/* /opt/nodejs

Потом добавляем эту директорию в пути поиска программ, т.е. в переменную PATH. Происходить это будет в файле /etc/profile. Недостающие строки кода нужно вставить непосредственно перед export $PATH

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
sudo nano /etc/profile

#/etc/profile
#bla-bla-bla

NODE_JS_HOME="/opt/nodejs"
NODE_PATH="/opt/nodejs"
PATH="$NODE_JS_HOME/bin/:$PATH"

export $PATH

Ну вот, собственно, и всё. Версия v0.10.26, которая мелькает выше, оказалась последней на момент написания этой заметки, включающей исполняемые файлы для процессоров архитектуры ARM. Может быть уже имеются и более новые, надо просто проверить.

Комментарии

avatar
Хуторная Елена
avatar
Прогресс не стоит на месте, это хорошо )))
ответить
avatar
morontt
avatar
Само собой :)
ответить
avatar
Спринт Хост
avatar
Привет! Мы запилили поддержку Node.js на всех тарифных планах виртуального хостинга (не на VDS/VPS и не на облаке, а на shared!) и сейчас очень нуждаемся в обратной связи, а для этого нужно больше живых проектов на Node.js.

У всех тарифов есть бесплатный тестовый период: https://sprinthost.ru. Регистрируйтесь, создавайте приложение, присылайте замечания, пожелания и вопросы на support@sprinthost.ru или в группу https://vk.com/sprinthost, мы будем бесконечно благодарны.

Что нужно знать:

В каталоге с приложением ( ~/domains/example.org/public_html ) создаем файл app.js со следующим содержимым:

require('/home/login/domains/example.org/public_html/index.js');
process.chdir('/home/login/domains/example.org/public_html');

Создаем файл .htaccess в этом же каталоге и добавляем в него правило:

PassengerStartupFile app.js
PassengerResolveSymlinksInDocumentRoot on
Require all granted
PassengerAppType node
PassengerAppRoot /home/login/domains/example.org/public_html
Options -MultiViews

Для работы приложений у нас используется Phusion Passenger https://www.phusionpassenger.com/#about
ответить
3 комментария Написать что-нибудь
Или войдите, чтобы не заполнять форму:
Адрес электронной почты нигде не отображается, необходим только для обратной связи.
Напрограммировано на Go 1.23.4, версия движка 831721a