konfiguracja node.js

Instalacja oraz uruchomienie Node.js na koncie hostingowym Smarthost

191 views 10 listopada 2018 5 marca 2021 aleksandra 0

Jak zainstalować i używać Node.js na serwerze Smarthost

 

Aby móc korzystać z Node.js wymagany jest dostęp SSH. Dostęp można włączyć poprzez Panel Abonenta https://www.smarthost.pl/panel/login dla wszystkich kont hostingowych, za wyjątkiem pakietu base-mikro. Należy kliknąć ikonę lupy przy usłudze, a następnie przycisk Włącz SSH. Pakiet nie może być w wersji testowej (musi być opłacony).

 

Instalacja

1. Łączymy się z SSH używając portu podanego w panelu abonenta. Możemy w tym celu użyć programu Putty.

2. Wpisujemy

cd

i wciskamy enter

3. Wpisujemy:

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

i wciskamy enter

4. Następnie:

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

5. Możemy zmienić nazwę wypakowanego katalogu na bardziej przyjazną poleceniem:

mv node-v8.9.4-linux-x64 nodejs

6. Tworzymy katalog bin we własnym katalogu domowym

mkdir bin

7. Kopiujemy tam aplikację Node:

cp ./nodejs/bin/node ./bin

8. Wchodzimy do katalogu bin:

cd ./bin

9. Tworzymy dowiązanie symboliczne:

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

10. Node i npm są zainstalowane, możemy wpisać:

node –version

Powinno ukazać się:

v8.9.4

Natomiast dla polecenia:

npm –version

Ukazuje się:

5.6.0

Polecenia node i npm będą działały z każdego katalogu, dzięki umieszczeniu w katalogu bin.

Uruchamianie aplikacji:

Przechodzimy do katalogu, w którym umieściliśmy aplikację a następnie wpisujemy:

nohup node aplikacja.js &

Dzięki & aplikacja będzie uruchomiona w tle, natomiast nohup sprawi, że aplikacja będzie działała po wylogowaniu.

 

Alternatywnie:

  1. Wpisujemy polecenie screen i zatwierdzamy enterem
  2. Uruchomiamy naszą aplikację np. node aplikacja.js
  3. Wciskamy ctrl a
  4. Następnie wciskamy d
  5. Nasz screen przejdzie do pracy w tle
  6. Będzie można do niego wrócić poprzez polecenie screen -x

Wyłączanie aplikacji:

Wpisujemy:

pkill node

i wciskamy enter.

 

Alternatywnie:

  1. Wracamy do screen poprzez screen -x
  2. Zamykamy naszą aplikację poleceniem process.exit()
  3. Możemy zamknąć screen poleceniem exit

Przekierowanie do aplikacji Node.js po wejściu przez przeglądarkę

Umieszczamy następujące reguły w pliku .htaccess (plik ten tworzymy w katalogu domeny np. public_html/domena-klienta.pl):

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]

Zamiast PORT wpisujemy liczbę z zakresu 49152 do 65534. Jeżeli port jest zajęty przez innego Klienta, wybieramy kolejny dopóki aplikacja nie będzie na nim działać. Należy również pamiętać, aby taki sam port ustawić w aplikacji Node.js.

Wystarczy teraz wejść na naszą domenę, a ukaże nam się strona serwowana przez Node.js.

 

Przekierowanie na bezpieczne połączenie https z SSL cPanel

Możemy też przekierować ruch z serwerem na bezpieczne połączenie https. Uwaga! Serwer Node.js uruchamiamy jako http, a nie https. Połączenie https zapewnia nasz serwer Apache. Certyfikat cPanel generuje się automatycznie po dodaniu domeny poprzez Domeny dodatkowe w cPanelu, nie musisz więc martwić się instalacją i konfiguracją certyfikatu SSL.

Użyj następującej zawartości pliku .htaccess aby wymusić przekierowanie (zmieniając PORT na liczbę z zakresu podanego powyżej):

 

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]

 

Obsługa WebSockets

Aby protokół ws:// działał prawidłowo, należy utworzyć reguły w .htaccess, przykładowo dla biblioteki socket.io należy dodać poniższe linijki pod linijką „RewriteEngine On” (zmieniając PORT na wybraną wcześniej liczbę):

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

Zalecamy uruchamiać aplikacje Node.js z poziomu cPanel. Więcej informacji na ten temat znajduje się w naszym wpisie na blogu: https://www.smarthost.pl/blog/uruchomienie-node-js-w-cpanel

Załóż bezpłatne konto testowe na serwerze Smarthost.pl i sprawdź jak działa Node.js.

Załóż testowe konto hostingowe z obsługą Node.js

Czy ten artykuł był przydatny ?