Instalacija i pokretanje Node.js na hosting računu Smarthost.hr

Kako instalirati i koristiti Node.js na poslužitelju Smarthost Za korištenje Node.js potreban je pristup SSH-u. Pristup se može uključiti putem Korisničkog profila https://www.smarthost.hr/panel/login za sve hosting račune, s iznimkom paketa base-mikro. Potrebno je kliknuti na ikonu povećala pokraj usluge, a potom na gumb Uključi SSH. Paket ne može biti u probnoj verziji (mora biti plaćen).

Instalacija

  1. Povezujemo se s SSH-om korištenjem porta u korisničkom profilu. Za to možemo koristiti program Putty.
  2. Upisujemo 

cd

i pritišćemo enter

  1. Upisujemo:

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

           i pritišćemo enter

  1. Potom: 

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

  1. Naziv raspakiranog direktorija možemo zamijeniti naredbom:                         
    mv node-v8.9.4-linux-x64 nodejs
  2. Stvaramo bin direktorij u svom korisničkom profilu                                                                 
    mkdir bin
  3. Tamo kopiramo aplikaciju Node:                                                                                             
    cp ./nodejs/bin/node ./bin
  4. Ulazimo u bin direktorij:

cd ./bin

  1. Stvaramo simboličku poveznicu 

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

  1. Node i npm su instalirani, možemo upisati:                                                                         
    node –version

Trebalo bi se prikazati:

v8.9.4

a kao naredbu:

npm –version

Prikazuje se:

            5.6.0

Naredbe node i npm radit će iz svakog direktorija zahvaljujući pohrani u bin direktoriju

Pokretanje aplikacije:

Ulazimo u direktorij u koji smo pohranili aplikaciju te potom upisujemo:

nohup node aplikacja.js &

Zbog & se aplikacija pokreće u pozadini, dok nohup osigurava funkcioniranje aplikacije nakon prijave

Alternativno:

  1. Upisujemo naredbu screen i potvrđujemo tipkom enter
  2. Pokrećemo našu aplikaciju npr. node aplikacja.js
  3. Pritisnemo tipke ctrl i a
  4. Potom pritisnemo d
  5. Naš ekran će preći u pozadinski rad
  6. Možemo se vratiti putem naredbe screen -x

Isključivanje aplikacije: Upisujemo:

pkill node

i pritisnemo enter.

Alternativno:

  1. Vraćamo se na ekran pomoću screen -x
  2. Zatvaramo našu aplikaciju nadredbom proces.exit()
  3. Ekran možemo zatvoriti naredbom exit

Preusmjeravanje u aplikaciju Node.js po ulasku kroz preglednik

Umećemo daljnja pravila u datoteku .htaccess (tu datoteku stvaramo u direktoriju domene, npr. public_html/klijentska-domena.hr):

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]

Umjesto PORT upisujemo broj iz raspona od 49152 do 65534. Ako je drugi Klijent zauzeo port, biramo sljedeći sve dok aplikacija ne proradi na njemu. Također je potrebno imati na umu istovjetan port postaviti u aplikaciji Node.js

Sada je dovoljno ući u našu domenu, a prikazat će nam se stranica koju poslužuje Node.js

Preusmjeravanje na sigurnu https poveznicu s SSL cPanelom

Također možemo preusmjeriti kretanje poslužiteljem na sigurnu https poveznicu. Pažnja! Server Node.js pokrećemo kao http, a ne https. Https poveznicu osigurava naš server Apache.

Certifikat cPanel se automatski generira nakon dodavanja domene kroz Dodatne domene u Cpanelu, pa se ne morate zamarati instalacijom i konfiguracijom SSL certifikata.

Koristi sljedeći sadržaj datoteke .htaccess za prisilno preusmjeravanje (mijenjajući PORT na količu iz gore navedenog iznosa):

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]

Podrška za WebSockets

Kako bi protokol ws:// ispravno funkcionirao, potrebno je stvoriti pravila u .htaccess, npr. za biblioteku socket.io potrebno je dodati sljedeće retke pod retkom “RewriteEngine On” (pritom zamjenjujući PORT ranije odabranom količinom): 

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

Registriraj besplatni probni račun na poslužitelju Smarthost.hr i provjeri kako funkcionira Node.js.

Aleksandra Grygiel

Odgovori