Node.js - быстрый старт

Материал из 1GbWiki.

(Различия между версиями)
Перейти к: навигация, поиск
Версия 07:39, 5 февраля 2021 (править)
Renton (Обсуждение | вклад)
(Запуск приложения в режиме службы)
← К предыдущему изменению
Текущая версия (07:39, 5 февраля 2021) (править) (отменить)
Renton (Обсуждение | вклад)
(Запуск приложения в режиме службы)
 
Строка 61: Строка 61:
$ rm -f ~/.1gb_services/node/no-auto-start $ rm -f ~/.1gb_services/node/no-auto-start
-'''1.''' Отредактируйте файл <code>~/conf.d/node</code>, где+'''2.''' Отредактируйте файл <code>~/conf.d/node</code>, где
NODE_DIR="имя каталога приложения" NODE_DIR="имя каталога приложения"
NODE_START="команда запуска приложения" NODE_START="команда запуска приложения"
Строка 67: Строка 67:
NODE_DIR="myapp" NODE_DIR="myapp"
NODE_START="node main.js" NODE_START="node main.js"
-'''2.''' Запуск:+'''3.''' Запуск:
$ ~/init.d/node start $ ~/init.d/node start
-'''3.''' Для решения проблем используйте лог-файл запуска сервера приложения <code>~/logs_node/node.log</code>+'''4.''' Для решения проблем используйте лог-файл запуска сервера приложения <code>~/logs_node/node.log</code>
[[Категория:Программирование]] [[Категория:Программирование]]

Текущая версия

[править] Подготовка

1. В разделе личного кабинета полный список функций -> HTTP службы добавьте поддержку Node.js для сайта сайта (если сайта у вас ещё нет, то предварительно создайте его с главной страницы личного кабинета по ссылке Зарегистрировать, привязать домен и создать сайт Изображение:Blank.gif, тип сервера любой Linux).

добавление поддержки Node.js
добавление поддержки Node.js

Данная операция выделит IP адрес и порт, который будет прослушивать ваше приложение. В данный порт также будут проксироваться все запросы, приходящие на 80 и 443 порты вашего доменного имени.

2. Установку Node.js можно выполнить с помощью NVM, который установит Node.js и все сопутствующие пакеты в ваш домашний каталог, альтернативно можете использовать любой другой менеджер, либо установить из исходных текстов.

2.1 Установка nvm:

$ curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.37.2/install.sh | bash

сообщение об успешно установке:

=> Close and reopen your terminal to start using nvm or run the following to use it now:

теперь отключиться от SSH и зайти заново.

$ nvm --version
0.37.2

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

$ nvm install v14.15.4
$ node -v
v14.15.4

Полную справку по работе с nvm смотрите на сайте разработчика https://github.com/nvm-sh/nvm

[править] Запуск приложения на примере Hello World веб-сервера

1. В домашнем каталоге создайте папку для вашего приложения:

$ mkdir ~/myapp

2. Создайте файл main.js такого содержания:

const http = require('http');

const hostname = 'IP адрес домена или имя домена';
const port = ваш_порт;

const server = http.createServer((req, res) => {
  res.statusCode = 200;
  res.setHeader('Content-Type', 'text/plain');
  res.end('Hello World');
});

server.listen(port, hostname, () => {
  console.log(`Server running at http://${hostname}:${port}/`);
});

Порт необходимо взять из кабинета со страницы HTTP службы и подставить своё значение.

номер порта 42001
номер порта 42001


3. Чтобы отключить автоматический запуск приложения службами хостинга, создайте файл:

$ touch ~/.1gb_services/node/no-auto-start

4. Запуск:

~/myapp $ node main.js

Откройте ваш сайт в браузере, вы должны увидеть надпись "Hello World".

[править] Запуск приложения в режиме службы

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

1. Убедитесь, что удалён файл, управляющий автозапуском:

$ rm -f ~/.1gb_services/node/no-auto-start

2. Отредактируйте файл ~/conf.d/node, где

NODE_DIR="имя каталога приложения"
NODE_START="команда запуска приложения"

Для веб-сервера "Hello World" из примера выше, файл ~/conf.d/node будет выглядеть следующим образом:

NODE_DIR="myapp"
NODE_START="node main.js"

3. Запуск:

$ ~/init.d/node start

4. Для решения проблем используйте лог-файл запуска сервера приложения ~/logs_node/node.log

Личные инструменты