Servidores web
Node.JS
puede usarse como reemplazo del servidor web en el Pi y puede crear aplicaciones web independientes o de una sola página con facilidad.
Pero solo para su información, en la mayoría de las aplicaciones del mundo real se recomienda utilizar servidores como el moderno nginx
, ligero lighttpd
o grueso pero con todas las funciones apache2
. Y luego script node.js para complementar el sitio.
Obviamente, las posibilidades son infinitas y todo depende de lo que le gustaría lograr.
Raspberry Pi?
La Raspberry Pi puede ejecutar cualquiera de esos servidores web. También puede ejecutar Node sin complicaciones serias y es realmente rápido sin ningún ajuste complicado.
La Raspberry Pi es muy capaz, pero lo mejor sería convertir la división de memoria en la menor cantidad de gráficos y la mayor cantidad de RAM. Olvídate de usar un IDE y simplemente haz todo a través de SSH. Si realmente necesita más jugo, coloque un disipador de calor en el chip BCM y hágalo overclockear cuando se sienta seguro. Otra opción sería usar múltiples Pi como un clúster para ayudar con el equilibrio de carga. Puede comenzar a cavar por aquí acerca de la agrupación.
¿Pero realmente necesitas usar node.js?
Node.JS
estaba destinado a usarse cuando comienza (o anticipa) para obtener cientos y miles de solicitudes que requieren que se almacenen pequeños fragmentos de datos en DB, almacenados en caché o leídos de nuevo con una sobrecarga mínima del servidor. Entonces lo maneja usando JS en el cliente, pero en Node.JS
realidad lo maneja C / C ++. Entonces, ¿qué sucede si necesita un módulo personalizado o un cambio específico en el código base?
En una aplicación que sirve páginas web, node.js generalmente no supera a Apache, por ejemplo, en solicitudes únicas. La función sin bloqueo de node.js es excelente si tiene miles de solicitudes por segundo durante la mayor parte del día, aquí es donde Apache se bloquearía y se bloquearía.
Un ejemplo del mundo real.
Ebay: durante una subasta cuando tienes una cuenta regresiva de los últimos 30 segundos. Puede tener varias personas que solían actualizar la página vigorosamente y aumentar las ofertas. Aquí es donde brilla node.js, porque hoy NO necesita actualizar más. Esto se debe a que JS conecta a node.js con mucha frecuencia (300 ms ~ 600 ms) de todos los clientes y puede proporcionar una experiencia de "subasta de la vida real". Ebay no se ejecuta únicamente en node.js sino en granjas de servidores equilibradas con carga muy compleja.
Para compilar e instalar Node.js en Pi *:
Obviamente, no hay nada de malo en usar node.js en lugar de otros y cuál es la mejor manera de aprender el nodo si no está en un pequeño dispositivo como Pi. Para que pueda compilar el código usted mismo así.
$ 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)
actualización: las versiones posteriores del nodo (la versión actual es v0.8.18) se pueden construir sin los pasos especiales a continuación
a continuación, debemos decirle al compilador que use la armv6
arquitectura para la compilación:
$ 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'],
},
Luego comente las líneas que comienzan alrededor de la marca 157, para eliminar el vfp3 y las partes del simulador. Como se trata de un objeto similar a JSON, recuerde eliminar la coma en la CPPDEFINES
línea.
'armeabi:softfp' : {
'CPPDEFINES' : ['USE_EABI_HARDFLOAT=0']
# 'vfp3:on': {
# 'CPPDEFINES' : ['CAN_USE_VFP_INSTRUCTIONS']
# },
# 'simulator:none': {
# 'CCFLAGS': ['-mfloat-abi=softfp'],
# }
},
Luego, el proceso habitual de configuración, creación y realización, NB tuve que especificar manualmente la ubicación de la ruta de acceso de OpenSSL:
$ ./configure --openssl-libpath=/usr/lib/ssl
$ make (to compile node (This took 103 minutes!))
$ sudo make install
Eso es todo, ¡ahora debería tener una instalación Node.JS funcionando!
$ node -v should show you the version number
$ npm -v should show you the version of the Node Package Manager
* Referencias y articulo original
Pero como se señaló en otras respuestas, simplemente puede descargar un binario precompilado que simplemente funcionará.
Conclusiones
Un buen pedazo de Pi no está mal. Puede ejecutar casi cualquier cosa en el Pi- Simplemente no espere un rendimiento a nivel de producción.