• личный кабинет

Node.js — быстрый старт v2

страница из 1GbWiki

Хостинг предлагает сконфигурированное окружение для развёртывания приложений с поддержкой Node.js. Предустановлены основные пакеты: nvm, npm, yarn, pnpm, pm2, node с помощью которых вы можете установить все необходимые зависимости непосредственно в свой домашний каталог.

Все HTTP запросы с портов 80, 443 проксируются хостингом в ваше приложение на порт 3000. Если вам потребуется иная конфигурация, обратитесь с запросом в поддержку https://www.1gb.ru/about_support.php

Содержание

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

1. В разделе личного кабинета полный список функций -> HTTP службы добавьте поддержку Node.js v2 для сайта (если сайта у вас ещё нет, то предварительно создайте его с главной страницы личного кабинета по ссылке Зарегистрировать, привязать домен и создать сайт [1], тип сервера "Лучший для PHP").

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

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

1. Подключитесь к серверу по SSH.

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

$ mkdir ~/myapp

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

const http = require('http');

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

server.listen(3000, () => {
  console.log('Server running at http://localhost:3000/');
});

4. Запуск:

$ cd ~/myapp && node main.js

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

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

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

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

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

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

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

2. Запуск, остановка, проверка

$ ~/init.d/node start
$ ~/init.d/node stop
$ ~/init.d/node status
run: node: (pid 2417) 3395s

[править] Менеджер процессов pm2

Для управления компонентами приложения вы можете использовать pm2. Чтобы pm2 автоматически запускался после перезагрузок сервера, его конфигурацию вы также можете добавить в файл ~/conf.d/node. Для тестового приложения из примера выше это будет так:

NODE_DIR="myapp"
NODE_START="pm2 start main.js --name myapp"

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