Linux node что это

Установка node.js на Linux, FreeBSD, Windows

Важное замечание.

В первую очередь хочу обратить внимание на то, что с развитием node.js его синтаксис менялся, порой несколько раз. В связи с этим, категорически не рекомендую использовать старые версии node, проскальзывающий недавно node.NET, и подобные сборки. Идеально — версия 0.1.90 или новее. По той же причине будьте внимательны при нахождениии в сети туториалов по установке. Те, что начинаются с wget http://s3.amazonaws… загрузят устаревшую версию.
Перед установкой убедитесь в том, что python установлен, он нужен для конфигурации и сборки с помощью make (актуально для всего, кроме Windows в некоторых случаях).

GNU/Linux

Лучше было бы собрать как минимум при помощи checkinstall
checkinstall —fstrans=no —install=no —pkgname=node.js —pkgversion «0.1.97» —default

Логика подсказывает, что под MacOS установка будет аналогичной, проверить не могу. Разработчики тестируют своё детище на MacOS, работать должно без проблем.

FreeBSD

На FreeBSD чтобы не собирать libexecinfo из портов достаточно сделать:
pkg_add -r libexecinfo

Итак, классический способ#1
Способ#2
Способ#3
Способ от AterCattus

При сборке под FreeBSD 8.0_RELEASE amd64 с первого раза не собралось:
. obj/release/cpu-profiler.o(.text._ZN2v88internal23ProfilerEventsProcessor19FunctionCreateEventEPhS2_i+0x81): In function `v8::internal::ProfilerEventsProcessor::FunctionCreateEvent(unsigned char*, unsigned char*, int)’:
: undefined reference to `v8::internal::OS::ReleaseStore(long volatile*, long)’
obj/release/cpu-profiler.o(.text._ZN2v88internal23ProfilerEventsProcessor15CodeCreateEventENS0_6Logger16LogEventsAndTagsEiPhj+0xa3): more undefined references to `v8::internal::OS::ReleaseStore(long volatile*, long)’ follow
scons: *** [obj/release/mksnapshot] Error 1
scons: building terminated because of errors.
Waf: Leaving directory `/home/atercattus/node.js/node-v0.1.97/build’
Build failed: -> task failed (err #2):
libv8.a>
*** Error code 1
Помогла эта ссылка: code.google.com/p/v8/issues/detail?id=726.
Там все просто, в v8/src/platform-freebsd.cc добавляется между int OS::ActivationFrameAlignment() и const char* OS::LocalTimezone(double time) реализация недостающей функции:
void OS::ReleaseStore(volatile AtomicWord* ptr, AtomicWord value) <
__asm__ __volatile__(«». «memory»);
*ptr = value;
>
Может кому поможет.

Обновление на момент 11 июня

Вышеприведённый патч не актуален для последней версии из git — само прекрасно компилится под freebsd-amd64

Источник

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

Node Js — это платформа на основе JavaScript, которая уже завоевала большую популярность и становится еще более легкой и эффективной для разработчиков. Она позволяет программистам использовать JavaScript как для веб-приложений и пользовательских интерфейсов, так и для обычных программ, благодаря движку V8 от Google.

Для платформы уже создано более чем миллион пакетов, которыми можно управлять с помощью менеджера пакетов Node или NPM. Это отличная система для расширяемости приложения с помощью решений с открытым исходным кодом. В этой статье мы рассмотрим четыре способа установить Node.js в Ubuntu 20.04. Мы рассмотрим их все ниже, но рекомендуется использовать первый:

  • Использовать скрипт NVM, для управления несколькими версиями Node.js;
  • Установить программу из официальных репозиториев вашего дистрибутива;
  • Установить пакеты из PPA;
  • Установка Node.js из бинарных пакетов, распространяемых на официальном сайте;

Первый способ рекомендованный, но второй более простой, третий и четвертый позволяют получить более новые версии программ. Если у вас уже была установлена более старая версия Node js, ее нужно удалить, чтобы не возникало конфликтов, также вы можете просто обновить программу, для этого смотрите статью как обновить Node.js на Windows, Linux и Mac.

Удалить старую версию Node.js

В Ubuntu пакет Node Js называется по-старому — Node, эта программа вам не нужна и вы можете ее удалить. Если программа останется, некоторые операции могут выполняться с помощью нее и это будет вызывать конфликты.

Сначала давайте проверим установлена ли у вас эта программа:

dpkg —get-selections | grep node

Теперь вы можете ее удалить с помощью следующих команд:

sudo apt purge nodejs

Теперь можно переходить к рассмотрению того как установить Node.js в Ubuntu 20.04.

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

Чтобы установить Node.js Ubuntu 20.04 с помощью NVM нам понадобится компилятор C++ в системе, а также другие инструменты для сборки. По умолчанию система не поставляется с этими программами, поэтому их необходимо установить. Для этого выполните команду:

sudo apt install build-essential checkinstall

Также нам понадобится libssl:

sudo apt install libssl-dev

Скачать и установить менеджер версий NVM можно с помощью следующей команды:

wget -qO- https://raw.githubusercontent.com/nvm-sh/nvm/v0.37.2/install.sh | bash

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

Затем смотрим список доступных версий Node js:

Дальше можно устанавливать Node js в Ubuntu, при установке обязательно указывать версию, на данный момент самая последняя 11.0, но установим десятую:

nvm install 14.0

Список установленных версий вы можете посмотреть выполнив:

Дальше необходимо указать менеджеру какую версию нужно использовать:

Как только появятся более новые версии node js, вы сможете их установить и активировать в системе. Посмотреть версию вы можете выполнив команду:

Чтобы удалить эту версию node js, ее нужно деактивировать:

nvm deactivate 14.0

Затем можно удалить:

nvm uninstall 14.0

Установка Node.js из репозиториев Ubuntu

Это самый простой способ установки этой платформы. Сначала выполните команду:

sudo apt install nodejs

Затем установите менеджер пакетов npm:

sudo apt install npm

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

Как видите, при использовании официальных репозиториев вы получаете более старую версию.

Установка Node js из PPA

Установка Node js Ubuntu из PPA, это альтернативный вариант, позволяющий получить более новую версию, достаточно простым способом. Сначала добавьте репозитории Node js в список репозиториев Ubuntu с помощью такой одной из следующих команд. Для установки самой последней версии выполните:

curl -sL https://deb.nodesource.com/setup_15.x | sudo bash —

А для стабильной:

curl -sL https://deb.nodesource.com/setup_14.x | sudo bash —

Затем просто установите программу с помощью пакетного менеджера:

sudo apt install nodejs

Проверяем, что получилось:

Установка Node js из бинарников

Установка Node.js Ubuntu 20.04 через бинарные файлы не рекомендуется, потому что вы не сможете автоматически обновить программу до новой версии, вам придется повторять процедуру заново. Вы можете скачать установочные файлы Node js из официального сайта проекта. Здесь доступны как 32 битная, так и 64 битная версия. Вам нужно скачать файл именно для своей системы.

Чтобы узнать архитектуру выполните:

Откройте официальный сайт Node.js и найдите нужную версию, затем скачайте архив для своей архитектуры:

Вы можете скачать Node js и с помощью терминала, например, эта команда для 64 бит версии:

Теперь распаковываем бинарные файлы программы:

sudo tar -C /usr/local —strip-components 1 -xf ./node-v15.0.0-linux-x64.tar.gz

Смотрим версию, чтобы убедится, что все работает:

Источник

Запуск Node.js приложения на Ubuntu 18.04

Вступление

Node.js — это среда выполнения JavaScript с открытым исходным кодом для создания серверных и сетевых приложений. Node js сервер может работать на Linux, macOS, FreeBSD и Windows.

Вы можете запускать приложения Node.js из командной строки, однако подобный подход обычно используется для локального тестирования приложения. В этом руководстве основное внимание будет уделено запуску вашего приложения в «боевом» окружении.

В этой статье мы настроим хостинг Node js server на Ubuntu 18.04. Этот сервер будет запускать приложение Node.js, управляемое PM2 , и предоставлять пользователям безопасный доступ к приложению через прокси-сервер Nginx.

Что вам потребуется

В этом руководстве предполагается, что у вас:

  • Настроен сервер Ubuntu 18.04. У вас должен быть пользователь без полномочий root с правами sudo и активным брандмауэром.
  • Доменное имя указывает на IP вашего сервера. Для удобства в этой статье будет использоваться имя домена example.com.
  • Nginx на сервере установлен.
  • Nginx настроен с использованием сертификатов Let’s Encrypt.

Таким образом, на начальном этапе у вас есть сервер, обслуживающий страницу-«заглушку» вашего домена https://example.com/

Шаг 1 — Установка Node js

Давайте начнем с установки последней версии LTS Node.js с использованием архивов пакетов NodeSource .

Сначала установите NodeSource PPA, чтобы получить доступ к его содержимому. Убедитесь, что вы находитесь в своем домашнем каталоге, и используйте curl для получения сценария установки для архивов Node.js 8.x:

Вы можете проверить содержимое этого скрипта с помощью nano или предпочитаемого вами текстового редактора:

Когда вы закончите проверку скрипта, запустите его через sudo :

PPA будет добавлен в вашу конфигурацию, и ваш локальный кэш пакетов будет обновлен автоматически. После запуска сценария установки из Nodesource вы можете установить Node js server side:

Чтобы проверить, какую версию Node.js вы установили после этих начальных шагов, введите:

Примечание. При установке из NodeSource PPA вызывается исполняемый файл Node.js nodejs , а не node .

nodejs Пакет содержит nodejs бинарный файл, а также менеджер пакетов npm , так что вам не нужно устанавливать npm отдельно.

npm использует файл конфигурации в вашем домашнем каталоге, чтобы отслеживать обновления. Он будет создан при первом запуске npm . Выполните эту команду, чтобы проверить, что npm установлено, и создать файл конфигурации:

Чтобы некоторые npm пакеты работали (например, требующие компиляции кода из исходного кода), вам необходимо установить build-essential пакет:

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

Установив среду выполнения Node.js, давайте перейдем к написанию приложения Node.js.

Шаг 2 — Создание приложения Node.js

Давайте напишем приложение Hello World, которое возвращает «Hello World» любым HTTP-запросам. Это приложение поможет вам настроить Node.js. Вы можете заменить его своим собственным приложением — просто убедитесь, что вы изменили свое приложение для прослушивания соответствующих IP-адресов и портов.

Сначала давайте создадим приложение под названием hello.js :

Вставьте следующий код в файл:

Сохраните файл и выйдите из редактора.

Это приложение Node.js прослушивает указанные адреса ( localhost ) и порт ( 3000 ) и возвращает «Hello World!» с 200 кодом успеха HTTP. Поскольку мы слушаем localhost , клиенты не смогут подключиться к нашему приложению.

Чтобы протестировать ваше приложение, введите:

Вы увидите следующий вывод:

Примечание. Запуск приложения Node.js таким способом блокирует дополнительные команды до тех пор, пока приложение не будет завершено нажатием CTRL+C .

Чтобы протестировать приложение, откройте другую терминальную сессию на сервере, и подключитесь к localhost с curl :

Если вы видите следующий вывод, приложение работает правильно и прослушивает правильный адрес и порт:

Если вы не видите ожидаемого вывода, убедитесь что ваше Node js приложение запущено и настроено на прослушивание по правильному адресу и порту.

Если вы уверены, что это работает, завершите приложение (если вы еще этого не сделали), нажав CTRL+C .

Шаг 3 — Установка PM2

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

Используйте npm для установки последней версии PM2 на ваш сервер:

-g опция указывает npm установить модуль на глобальном уровне , так что он доступен для всей системы.

Давайте сначала используем pm2 start команду для запуска вашего приложения hello.js , в фоновом режиме:

Это также добавляет ваше приложение в список процессов PM2, который выводится каждый раз, когда вы запускаете приложение:

Как видите, PM2 автоматически назначает App name (на основе имени файла, без .js расширения) и PM2 id . PM2 также поддерживает другую информацию, такую ​​как PID процесса, его текущем состоянии и использовании памяти.

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

Эта подкоманда генерирует и настраивает скрипт запуска для запуска PM2 и его управляемых процессов при загрузке сервера:

Последняя строка полученного результата будет включать команду для запуска с привилегиями суперпользователя, чтобы настроить PM2 для запуска при загрузке:

Запустите команду из вывода с вашим именем пользователя вместо alexey :

В качестве дополнительного шага мы можем сохранить список процессов PM2 и соответствующие среды:

Теперь вы создали системный модуль, который запускает pm2 для вашего пользователя при загрузке. Он, в свою очередь, запускает hello.js .

Запустите сервис с systemctl :

Остановите приложение с помощью этой команды (укажите PM2 App name или id ):

Перечислите приложения, в управляемые PM2:

Получить информацию о конкретном приложении, используя его App name :

Монитор процесса PM2 можно вызвать с помощью monit подкоманды. Это отобразит статус приложения, нагрузку на процессор и использование памяти:

При запуске pm2 без каких-либо аргументов будет отображена страница справки с примером использования.

Теперь, когда ваше приложение Node.js запущено и управляется PM2, давайте настроим прокси-сервер.

Шаг 4 — Настройка Nginx в качестве прокси-сервера

Ваше приложение работает и прослушивает localhost , но вам нужно настроить способ доступа к нему ваших пользователей. Для этой цели мы настроим веб-сервер Nginx в качестве прокси-сервера.

Откройте файл для редактирования: /etc/nginx/sites-available/example.com

Внутри блока server у вас должен быть существующий location / блок. Замените содержимое этого блока конфигурацией ниже. Если ваше приложение настроено на прослушивание другого порта, укажите правильный номер порта:

Если это требуется, то вы можете добавить дополнительные location блоки, чтобы обеспечить доступ к другим приложениям на том же сервере. Например, если вы также запускаете другое приложение Node.js на порту 3001 , вы можете добавить следующий блок, чтобы разрешить доступ к нему через https://example.com/app2

Как только вы закончите изменение конфигурации Nginx для ваших приложений, сохраните файл и выйдите из редактора.

Убедитесь, что вы не допустили никаких синтаксических ошибок, набрав:

Источник

Читайте также:  Восстановление данных с флешки под линукс
Оцените статью