Як встановити та використовувати 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 продовжить роботу програми після виходу з системи.
Або ж:
- Введіть команду screen і підтвердіть її натисканням клавіші Enter
- Запускаємо наш додаток за допомогою node application.js
- Натисніть Ctrl+a
- Потім натисніть d
- команда screen буде працювати у фоновому режимі
- Повернутися до нього можна за допомогою команди screen -x
Вимкнення додатку – введіть:
pkill node
і натисніть Enter.
Або ж:
- Повертаємося до екрана за допомогою screen -x
- Ми закриваємо наш додаток за допомогою process.exit()
- Можна закрити екран за допомогою команди 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
- Як встановити wp-cli на сервери smarthost.net.ua? - 31 Липня, 2023
- Як саме налаштувати поштовий клієнт у Mozilla Thunderbird? - 14 Липня, 2023
- Механізм SPF для перенаправлення пошти (forward), тобто SRS на серверах Smarthost.net.ua - 14 Липня, 2023