Server Web
Node.JS
può essere utilizzato come sostituto del server Web sul Pi ed è possibile creare facilmente applicazioni Web singole o singole pagine.
Ma solo per tua informazione, nella maggior parte delle applicazioni del mondo reale si consiglia di utilizzare server come il moderno nginx
, leggero lighttpd
o grosso ma completo apache2
! E poi script node.js per integrare il sito.
Ovviamente le possibilità sono infinite e tutto dipende da ciò che vorresti ottenere.
Raspberry Pi?
Raspberry Pi può eseguire uno di questi server Web. Può anche eseguire Node senza serie complicazioni ed è davvero veloce senza complicate modifiche.
Il Raspberry Pi è molto capace, ma la cosa migliore sarebbe trasformare la memoria divisa in meno grafica e la maggior parte della RAM. Dimentica l'uso di un IDE e fai tutto tramite SSH. Se hai davvero bisogno di un po 'più di succo, metti un dissipatore di calore sul chip BCM e overcloccalo quando ti senti al sicuro. Un'altra opzione sarebbe quella di utilizzare più Pi come cluster per facilitare il bilanciamento del carico. Puoi iniziare a scavare qui sul clustering.
Ma hai davvero bisogno di usare node.js?
Node.JS
è stato progettato per essere utilizzato quando si avvia (o si anticipa) per ottenere centinaia e migliaia di richieste che richiedono piccoli blocchi di dati da archiviare nel database, memorizzati nella cache o riletti con un sovraccarico minimo del server. Quindi lo guidi usando JS sul client ma in Node.JS
realtà è guidato da C / C ++. Quindi cosa succede se è necessario un modulo personalizzato o una modifica specifica nel codice di base?
In un'applicazione che serve pagine web node.js di solito non supera apache ad esempio, su singole richieste. La funzione non bloccante di node.js è eccezionale se hai migliaia di richieste al secondo per la maggior parte della giornata, è qui che Apache si bloccherebbe e si arresterebbe in modo anomalo.
Un esempio del mondo reale
Ebay - Durante un'asta quando hai un conto alla rovescia degli ultimi 30 secondi. Puoi avere diverse persone che erano solite aggiornare la pagina con vigore e aumentare le offerte. È qui che brilla node.js, perché oggi NON è più necessario aggiornare. Questo perché JS si annulla molto spesso su node.js (300 ms ~ 600 ms) da tutti i client ed è in grado di fornire un'esperienza di "asta di vita reale". Ebay non funziona solo su node.js ma su server farm con bilanciamento del carico molto complesse.
Per compilare e installare Node.js sul Pi *:
Ovviamente non c'è niente di sbagliato nell'utilizzare node.js invece di altri e il modo migliore per imparare il nodo se non su un piccolo dispositivo pulito come il Pi. Quindi puoi compilare il codice da solo in questo modo.
$ sudo apt-get install git-core build-essential libssl-dev
$ mkdir ~/nodeDL && cd ~/nodeDL
$ git clone https://github.com/joyent/node.git
$ git checkout v0.6.15 (to checkout the most recent stable version at time of writing)
aggiornamento: le versioni successive del nodo (la versione corrente è v0.8.18) possono essere costruite senza i passaggi speciali di seguito
poi dobbiamo dire al compilatore di usare l' armv6
architettura per la compilazione:
$ export CCFLAGS='-march=armv6'
$ export CXXFLAGS='-march=armv6'
and then edit deps/v8/SConstruct around the line 82 mark, to add “-march=armv6”:
'all': {
'CCFLAGS': ['$DIALECTFLAGS', '$WARNINGFLAGS', '-march=armv6'],
'CXXFLAGS': ['-fno-rtti', '-fno-exceptions', '-march=armv6'],
},
Quindi commentare le righe che iniziano attorno al segno 157, per rimuovere le parti vfp3 e del simulatore. Dato che si tratta di un oggetto simile a JSON, ricordati di rimuovere la virgola sulla CPPDEFINES
linea!
'armeabi:softfp' : {
'CPPDEFINES' : ['USE_EABI_HARDFLOAT=0']
# 'vfp3:on': {
# 'CPPDEFINES' : ['CAN_USE_VFP_INSTRUCTIONS']
# },
# 'simulator:none': {
# 'CCFLAGS': ['-mfloat-abi=softfp'],
# }
},
Quindi il solito configura, crea, rende il processo di installazione, NB ho dovuto specificare manualmente la posizione del libpath OpenSSL:
$ ./configure --openssl-libpath=/usr/lib/ssl
$ make (to compile node (This took 103 minutes!))
$ sudo make install
Ecco fatto, ora dovresti avere un'installazione funzionante di Node.JS!
$ node -v should show you the version number
$ npm -v should show you the version of the Node Package Manager
* Riferimenti e articolo originale
Ma come sottolineato in altre risposte, puoi semplicemente scaricare un binario precompilato che funzionerà.
conclusioni
Un buon pezzo di Pi non è male. Puoi eseguire praticamente qualsiasi cosa sul Pi-Just, non aspettarti prestazioni a livello di produzione.