TKL Node.js

Další obraz, jak napovídá název, přináší framework Node.js, který sestává z Google V8 JavaScript Engine a dalších standardních knihoven a umožňuje tvorbu vysoce škálovatelných webových aplikací, serverů, aj. Jedná se tedy o JavaScript framework, přičemž jednou z jeho výhod je efektivní správa balíčků a rozsáhlý ekosystém open source aplikací.

Po spuštění stroje s tímto obrazem nalezneme (pod IP adresou daného stroje) v prohlížeči rozcestník na administrační nástroje shellinabox a webmin, které jsou popsány v kapitole, která se věnuje obrazu TKL core nebo v samostatných návodech k použití. Nástroj adminer není v rámci tohoto obrazu k dispozici.

K dispozici je ale n, tj. správce verzí Node.js, který umožňuje snadno provádět aktualizace na nejnovější verze, instalaci specifické požadované verze či přesun mezi jednotlivými dostupnými instalovanými verzemi. Rozsáhlejší popis této utility je nad rámec tohoto návodu, nicméně pro rychlejší orientaci uvádíme několik příkazů, které lze v rámci shellu daného TKL obrazu použít pro zajištění požadované verze Node.js:

  • Příkazem node –version zjistíme instalovanou aktuálně používanou verzi Node.js
  • Příkaz n list vypíše seznam verzí Node.js, které je možno nainstalovat
  • Příkazem n <verze> nainstalujeme specifickou požadovanou verzi Node.js (řetězec <verze> nahraďte označením požadované verze)
  • Příkazem n stable nainstalujeme poslední dostupnou stabilní verzi Node.js
  • Příkazem n latest nainstalujeme poslední dostupnou verzi Node.js
  • Příkazem n lts nainstalujeme poslední dostupnou dlouhodobě podporovanou stabilní verzi Node.js
  • Příkazem n rm <verze> odinstalujeme specifickou verzi Node.js (řetězec <verze> nahraďte označením požadované verze); místo rm lze použít
Rozcestník na adrese stroje, na kterém je nainstalován obraz TKL Node.js

Pokud do shellu zadáme pouze příkaz n, zobrazí se seznam dostupných nainstalovaných verzí Node.js (aktuálně používaná označena odrážkou), přičemž můžeme šipkami vybrat verzi, kterou chceme používat a klávesou Enter potvrdit přepnutí do dané verze Node.js; úspěšnou změnu používané verze Node.js můžeme ověřit opět příkazemnode -version .

K dispozici je také modul Node.js npm, tj. správce balíčků Node.js (respektive JavaScriptu). Pro základní nápovědu k tomuto programu použijte příkaz npm help nebonpm faq . Pro rozsáhlejší nápovědu použijte například npm help npm -l nebo online dokumentaci. Kromě defaultní lokální instalace balíčků, lze prostřednictvím npminstalovat balíčky také globálně . Jestliže po přepnutí do jiné verze Node.js pomocí příkazu n <verze> nefunguje příkaz npm, může pomoci stažení a spuštění dodatečného instalačního skriptu. Příkaz pro stažení a provedení daného skriptu lze nalézt na stránkách s oficiální dokumentací programu n, a to: https://github.com/tj/n .

Součástí obrazu je i program pm2, což je produkční manažer procesů pro Node.js, který umožňuje automaticky i manuálně spouštět a spravovat jednotlivé Node.js aplikace.pm2 je rovněž jako služba umístěn /etc/systemd/system/pm2-node.service, takže po spuštění stroje automaticky spouští všechny Node.js aplikace umístěné v příslušném adresáři pm2. Oficiální dokumentaci k nástroji pm2 lze nalézt na GitHub nebo na oficiálních stránkách . Opět uvedeme pouze několik základních příkazů pro správu node aplikací pomocí pm2:

  • Příkaz pm2 zobrazí základní nápovědu dané utility
  • Příkazem pm2 list zobrazíme seznam a základní informace o spuštěných Node.js aplikacích
  • Příkazem pm2 <aplikace> zobrazíme seznam (tabulku) a základní informace o spuštěných Node.js aplikacích (řetězec <aplikace> nahraďte názvem nebo id dané aplikace)
  • Příkazem pm2 show <aplikace> zobrazíme detailní informace o spuštěné Node.js aplikaci (řetězec <aplikace> nahraďte názvem nebo id dané aplikace)
  • Příkazem pm2 logs <aplikace> zobrazíme log spuštěné Node.js aplikace (řetězec <aplikace> nahraďte názvem nebo id dané aplikace) v reálném čase; pro ukončení zobrazení logu použijeme Ctrl + c
  • Příkazem pm2 start <aplikace> spustíme danou Node.js aplikaci (řetězec <aplikace> nahraďte názvem nebo id dané aplikace)
  • Příkazem pm2 stop <aplikace> zastavíme danou Node.js aplikaci (řetězec <aplikace> nahraďte názvem nebo id dané aplikace)
Použití správce procesů pro Node.js – pm2

Obraz TurnKey Linux Node.js obsahuje všechny komponenty, které byly zmíněny výše u verze core TKL a navíc:

  • Nginx – webový server , aktuálně ve verzi 1.6.2
  • Node.js – JavaScript framework, aktuálně ve verzi 5.10.1
    • n – správce verzí Node.js
    • npm s podporou globální instalace balíčků
    • pm2 – manažer procesů a aplikací Node.js
    • příklady Node.js aplikací v /opt/node-examples
    • rozcestník daného TKL obrazu jako Node.js aplikace umístěná v /opt/tklweb-cp
  • Globálně předinstalované moduly Node.js:
    • pm2 – manažer procesů a aplikací Node.js, spouštěný při startu jako systemd služba
    • forever – jednoduchá CLI utilita pro zajištění kontinuálního běhu aplikací
    • node-inspector – utilita pro ladění aplikací
    • grunt – plánovač spouštění úloh umožňující automatizovat požadované úlohy, typicky kompilaci, testování, atp.
    • bower – správce balíčků pro závislosti prohlížeče na straně klienta
    • nsp – node security project auditor balíčků – audity závislostí z hlediska známých bezpečnostních zranitelností
  • Postfix – emailový server, směrovaný na lokální účet
  • Moduly Webmin pro konfiguraci Postfix
  • Python – programovací a skriptovací jazyk, aktuálně ve verzi 3.4.2
  • Podpora SSL

Oficiální dokumentace obrazu TKL Node.js (v angličtině) je dostupná na stránkách: https://www.turnkeylinux.org/nodejs .