Как запустить node js linux

Установка Node.js через пакетный менеджер

Заметка: Пакеты, описанные на этой странице, разрабатываются и поддерживаются соответствующими упаковщиками, а не командой Node.js. Пожалуйста, сообщайте о любых проблемах, с которыми вы сталкиваетесь с конкретным пакетом. Если выяснится, что ваша проблема ― ошибка в самом Node.js, проблема будет передана выше.

Android

Поддержка Android все еще является экспериментальной в Node.js, поэтому предварительно скомпилированные двоичные файлы еще не предоставлены в открытом доступе.

Однако есть и сторонние решения. Например, сообщество Termux предоставляет эмулятор терминала и среду Linux для Android, а также собственный менеджер пакетов и обширную коллекцию многих предварительно скомпилированных приложений. Эта команда в приложении Termux установит последнюю доступную версию Node.js:

В настоящее время двоичные файлы Termux Node.js связаны с system-icu (в зависимости от пакета libicu ).

Arch Linux

Пакеты Node.js и npm доступны в репозитории сообщества.

Дистрибутивы Linux на основе Debian и Ubuntu, пакеты Enterprise Linux/Fedora и Snap

FreeBSD

Самый последний выпуск Node.js доступен через порт www/node.

Установите бинарный пакет через pkg:

Или скомпилируйте свой используя порты:

Gentoo

Node.js доступен в дереве портежей.

NetBSD

Node.js доступен в дереве pkgsrc:

Или установите бинарный пакет (если он доступен для вашей платформы) с помощью pkgin:

Node Version Manager ― это bash-скрипт, используемый для управления несколькими выпущенными версиями Node.js. Он позволяет выполнять такие операции, как установка, удаление, переключение версий и т.д.. Чтобы установить nvm, используйте этот скрипт установки.

В системах Unix/OS X Node.js, созданный из исходного кода, можно установить с помощью nvm путем установки в папку по умолчанию nvm:

После этого вы можете использовать nvm для переключения между выпущенными версиями и версиями построенных из исходного кода. Например, если версия Node.js v8.0.0-pre:

После выхода официального релиза вы захотите удалить встроенную версию:

Windows

The nvs version manager is cross-platform and can be used on Windows, macOS, and Unix-like systems

To install nvs on Windows go to the release page here and download the MSI installer file of the latest release.

You can also use chocolatey to install it:

macOS,UnixLike

You can find the documentation regarding the installation steps of nvs in macOS/Unix-like systems here

Usage

After this you can use nvs to switch between different versions of node.

To add the latest version of node:

Or to add the latest LTS version of node:

Then run the nvs use command to add a version of node to your PATH for the current shell:

To add it to PATH permanently, use nvs link :

OpenBSD

Node.js доступен через систему портов.

Использование pkg_add в OpenBSD:

Читайте также:  Драйвер клиент для windows

openSUSE и SLE

Node.js доступен в основных репозиториях в следующих пакетах:

  • openSUSE Leap 42.2: nodejs4
  • openSUSE Leap 42.3: nodejs4 , nodejs6
  • openSUSE Tumbleweed: nodejs4 , nodejs6 , nodejs8
  • SUSE Linux Enterprise Server (SLES) 12: nodejs4 , nodejs6 («Модуль Web и Scripting» должен быть добавлен перед установкой.)

Например, чтобы установить Node.js 4.x в openSUSE Leap 42.2, запустите следующее от имени пользователя root:

macOS

Просто загрузите установщик macOS прямо с веб-сайта nodejs.org.

Если вы хотите скачать пакет с bash:

Альтернативы

Использование Homebrew:

Использование MacPorts:

Использование pkgsrc:

Установка бинарных файлов:

Или сборка с помощью pkgsrc:

SmartOS и illumos

Образы SmartOS поставляются с предустановленным pkgsrc. В других дистрибутивах Illumos сначала установите pkgsrc, затем вы сможете установить бинарный пакет как обычно:

Или собрать с помощью pkgsrc:

Solus

Solus предоставляет Node.js в своем основном репозитории.

Void Linux

Void Linux поставляет стабильный файл Node.js в основном репозитории.

Windows

Просто загрузите Установщик Windows прямо с веб-сайта nodejs.org.

Альтернативы

Использование Chocolatey:

Использование Scoop:

В© OpenJS Foundation. All Rights Reserved. Portions of this site originally В© Joyent.

Источник

Установка 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 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 для ваших приложений, сохраните файл и выйдите из редактора.

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

Источник

Оцените статью