Встановлення та запуск Node.js на хостинг-акаунті Smartost.net.ua

Як встановити та використовувати Node.js на сервері Smarthost Для використання Node.js потрібен доступ по SSH. Доступ можна увімкнути через Особистий кабінет https://www.smarthost.net.ua/panel/login або для всіх хостинг-акаунтів, окрім пакетів mini. Натисніть на іконку лупи поруч зі службою, а потім на кнопку ” Enable SSH”. Пакет не може бути в пробній версії (має бути оплаченим).

Встановлення

1. Підключаємося до SSH, використовуючи порт, вказаний в панелі абонента. Для цього ми можемо використовувати PuTTY.

2. Вводимо

cd

та натисніть клавішу Enter

3. Після:

wget https://nodejs.org/dist/v8.9.4/node-v8.9.4-linux-x64.tar.xz

та натисніть клавішу Enter

4. Далі:

tar -xJf node-v8.9.4-linux-x64.tar.xz

5. Ми можемо змінити назву витягнутого каталогу на більш дружню за допомогою команди:

mv node-v8.9.4-linux-x64 nodejs

6. Створюємо каталог bin у власному домашньому каталозі

mkdir bin

7. Скопіюйте туди додаток Node:

cp ./nodejs/bin/node ./bin

8. Заходимо в каталог bin:

cd ./bin

9. Створюємо символічний лінк:

ln -s ../nodejs/lib/node_modules/npm/bin/npm-cli.js npm

10. Node та npm встановлено, можемо ввести:

node –version

Побачимо:

v8.9.4

І для команди:

npm –version

Буде:

5.6.0

Команди node і npm працюватимуть з будь-якого каталогу, якщо їх розмістити у каталозі bin.

Запуск програми:

Переходимо до директорії, куди ми помістили додаток, і вводимо:

nohup node application.js &

З & програма працюватиме у фоновому режимі, тоді як nohup продовжить роботу програми після виходу з системи.

Або ж:

  1. Введіть команду screen і підтвердіть її натисканням клавіші Enter
  2. Запускаємо наш додаток за допомогою node application.js
  3. Натисніть Ctrl+a
  4. Потім натисніть d
  5. команда screen буде працювати у фоновому режимі
  6. Повернутися до нього можна за допомогою команди screen -x

Вимкнення додатку – введіть:

pkill node

і натисніть Enter.

Або ж:

  1. Повертаємося до екрана за допомогою screen -x
  2. Ми закриваємо наш додаток за допомогою process.exit()
  3. Можна закрити екран за допомогою команди exit

Перенаправлення на додаток Node.js після входу через браузер

У файлі .htaccess (цей файл створюється в каталозі домену, наприклад, public_html/client-domain.net.ua) ми розміщуємо наступні правила: :

DirectoryIndex disabled
RewriteEngine On
RewriteRule ^$ http://127.0.0.1:PORT/ [P,L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ http://127.0.0.1:PORT/$1 [P,L]

Замість PORT введіть число з діапазону від 49152 до 65534. Якщо порт зайнятий іншим клієнтом, ми обираємо інший, поки додаток не запрацює на ньому. Також не забудьте встановити той самий порт у додатку Node.js.

Все, що вам потрібно зробити, це зайти на наш домен, і ви побачите сторінку, яка обслуговується Node.js.

Перенаправлення на безпечне з’єднання https за допомогою SSL cPanel

Ми також можемо перенаправити трафік з сервера на безпечне з’єднання https. Увага! Ми запускаємо сервер Node.js як http, а не https. З’єднання https забезпечується нашим сервером Apache. Сертифікат cPanel генерується автоматично після додавання домену через Додаткові домени в cPanel, тому вам не потрібно турбуватися про встановлення та налаштування SSL-сертифіката.

Використовуйте наступний вміст файлу .htaccess для примусового перенаправлення (змінивши PORT на число з наведеного вище діапазону):

DirectoryIndex disabled
RewriteEngine On
RewriteCond %{HTTPS} on
RewriteRule ^$ http://127.0.0.1:PORT/ [P,L]
RewriteCond %{HTTPS} on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ http://127.0.0.1:PORT/$1 [P,L]
RewriteCond %{HTTPS} !=on
RewriteCond %{REQUEST_URI} !^/[0-9]+\..+\.cpaneldcv$
RewriteCond %{REQUEST_URI} !^/[A-F0-9]{32}\.txt(?:\ Comodo\ DCV)?$
RewriteCond %{REQUEST_URI} !^/\.well-known/acme-challenge/[0-9a-zA-Z_-]+$
RewriteCond %{REQUEST_URI} !^/\.well-known/pki-validation/[A-F0-9]{32}\.txt(?:\ Comodo\ DCV)?$
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

Підтримка WebSocket

Для коректної роботи протоколу ws:// потрібно створити правила в .htaccess, наприклад, для бібліотеки socket.io додати наступні рядки під рядком “RewriteEngine On” (змінивши PORT на раніше обраний номер):

RewriteCond %{REQUEST_URI} ^/socket.io [NC]
RewriteCond %{QUERY_STRING} transport=websocket [NC]
RewriteRule /(.*) ws://localhost:PORT/$1 [P,L]

Запуск Node.js із cPanel

Ми рекомендуємо запускати програми Node.js з cPanel. Більше інформації про це можна знайти в нашому блозі: https://www.smarthost.eu/blog/how-to-run-node-js-in-cpanel

Створіть безкоштовний тестовий акаунт на сервері Smartost.net.ua і перевірте, як працює Node.js.

Створити тестовий хостинг-акаунт з підтримкою Node.js

Залишити відповідь