Node.js na Raspberry Pi

Webserver na Raspberry Pi nemusí být jen Apache a PHP. Je možné použít i čím dál tím oblíbenější Node.js. Jak Node nainstalovat a vytvořit „Hello world“?

 

logo Node.js
logo Node.js

Instalace Node.js

Před každou instalací zaktualizujeme seznamy balíčků a provedeme jejich aktualizaci.
sudo apt-get update
sudo apt-get dist-upgrade

Když máme balíčky zaktualizovány tak si z internetu stáhneme aktuální verzi Node.js
curl -sL https://deb.nodesource.com/setup_8.x | sudo -E bash -
Pokud tento příkaz nespustíme, další příkaz nainstaluje node.js verze v0.10.29. A to asi nechceme :-).

Reálná instalace se provádí příkazem
sudo apt-get install nodejs
Node.js máme úspěšně nainstalované a můžeme si zkusit vypsat jeho verzi. Výpis verze se provádí příkazem:
node -v
Příkaz by měl vypsat
v8.9.4

Node.js Hello world

Vytvoříme soubor main.js
vim main.js
a zadáme do něho:
var http = require('http');

http.createServer(function (req, res) {
   res.writeHead(200, {'Content-Type': 'text/plain'});
   res.end('Hello World from Raspberry Pi!');
}).listen(8080); // here you can change port

Pokud máme vše zadáno spuštění se provádí příkazem
node main.js
do prohlížeče zadáme adresu Raspberry Pi s portem 8080 a zkusíme se připojit.
http://192.168.0.150:8080
Zobrazí se stránka s nápisem „Hello World from Raspberry Pi!“.

Problémy

Při spuštění se vypíše
events.js:183
      throw er; // Unhandled 'error' event
      ^

Error: listen EACCES 0.0.0.0:8080
    at Object._errnoException (util.js:1022:11)
    at _exceptionWithHostPort (util.js:1044:20)
    at Server.setupListenHandle [as _listen2] (net.js:1334:19)
    at listenInCluster (net.js:1392:12)
    ...

Řešením je změnit port na kterém spouštíme HTTP modul. Na portu, který jsme zvolili, již totiž nějaká aplikace poslouchá.

Závěr

Nainstalovat Node.js na Raspberry pi je možná ještě jednodušší než instalovat Apache s PHP.
Takže pokud pro svůj web potřebujete node, není na Raspberry Pi žádný problém :-).

Raspberry Pi, Webserver, Node.js

- (18. 6. 2018)
Karel Norský

Jsem programátor, horolezec a tak trochu FlexiBee fanatik :-).
Na CharlieBlogu sepisuji své nápady a poznatky už od roku 2006.

Powered by CharlieBlog Engine v2.0