¿Qué es Node.js?
Node.js es un entorno JavaScript de lado de servidor y dirigido por eventos, soporta protocolos TCP, DNS y HTTP.
Uno de los puntos fuertes de Node.js es su capacidad de mantener muchas conexiones abiertas y esperando. Este valor puede ser aumentado para servir contenido estático, sin embargo, si se sirven aplicaciones web dinámicas en PHP u otro lenguaje es probable que al poner un valor alto el servidor se quede bloqueado ante muchas conexiones esto dependerá del trabajo que la aplicación web de lado del servidor y de su capacidad hardware.
Cita 5 de las principales ventajas de utilizar Node.js
Con node puedes utilizar JavaScript como de lenguaje de scripting en tu consola como, por ejemplo, bash, permite utilizar el mismo lenguaje tanto en cliente con el servidor.
Ofrece muy buena gestión de paquetes gracias a NPM (si quieres hacer algo, probablemente exista una librería/paquete que ya lo ofrezca).
Con Node.js es posible hacer en el servidor, todo lo que necesitas – acceso a ficheros, a bases de datos, conexiones de clientes, entre otros, está basado en eventos, así que toda la filosofía asíncrona que ya utilizas con AJAX en tu cliente, la puedes pasar al servidor.
3 aplicaciones que en la actualidad utilicen Node.js
- Netflix
- Yahoo
- mozilla
Diferencias entre Node.js y PHP.
PHP fue una tecnología excepcional en sus días. Su éxito y popularidad vinieron de su facilidad de aprendizaje y uso, la facilidad de alojamiento y la abundancia de scripts, aplicaciones y bibliotecas.
Node.js es relativamente joven, pero ya es la plataforma de más rápido crecimiento por el ritmo de las contribuciones (el número absoluto superará otros lenguajes en pocos años. El lenguaje JavaScript es el lenguaje más popular en el mundo sin lugar a dudas. Muchas herramientas son portadas a Node.js con pequeñas o ninguna modificación del entorno del navegador.
¿Es necesario instalar el servidor Apache para ejecutar aplicaciones basadas en Node.js?
No es necesario dado que node.js posee “nodeserver” para gestionar nuestras paginas web.
Instalar keystonejs
Keystonejs se trata de un CMS basado en node.js
y javascript
, el primer paso sera actualizar nuestra maquina apt update && apt upgrade
.
A continuación instalamos curl apt install curl
Descargamos e instalamos node.js y sus dependencias
Primero para poder utilizar npm vamos a ejecutar el script que podemos encontrar en la página oficial:
root@debian:/home/usuario# curl -sL https://deb.nodesource.com/setup_6.x | sudo -E bash -
El siguiente paso es instalar node.js, nodejs
depende de rlwrap por tanto también lo instalaremos:
root@debian:/home/usuario# apt install nodejs Leyendo lista de paquetes... Hecho Creando árbol de dependencias Leyendo la información de estado... Hecho Se instalarán los siguientes paquetes extras: rlwrap Se instalarán los siguientes paquetes NUEVOS: nodejs rlwrap 0 actualizados, 2 nuevos se instalarán, 0 para eliminar y 0 no actualizados. Se necesita descargar 7.323 kB/7.399 kB de archivos. Se utilizarán 35,5 MB de espacio de disco adicional después de esta operación. ¿Desea continuar? [S/n] s
En el caso de que de problemas de dependencias realizamos un apt update
y con eso deberíamos de solucionarlo.
Y por último utilizamos “npm” para instalar los siguientes módulos:
root@debian:/home/usuario# npm install -g npm root@debian:/home/usuario# npm install -g generator-keystone root@debian:/home/usuario# npm install -g yo root@debian:/home/usuario# npm install --save underscore
Instalamos MongoDB como BD
Vamos a trabajar con la base de datos en MongoDB
por lo tanto vamos a instalarla apt install mongodb
Crear carpeta para proyecto
Nos loguemos como usuario y creamos la carpeta “keystoneapp”
usuario@debian:~$ mkdir keystoneapp usuario@debian:~$ cd keystoneapp/
Ejecutamos el CMS
usuario@debian:~/keystoneapp$ yo keystone ? ========================================================================== We're constantly looking for ways to make yo better! May we anonymously report usage statistics to improve the tool over time? More info: https://github.com/yeoman/insight & http://yeoman.io ========================================================================== Yes Welcome to KeystoneJS.
Realizar configuraciones necesarias para la instalacion del CMS
? What is the name of your project? iaw8 ? Would you like to use Jade, Nunjucks, Twig or Handlebars for templates? [jade | nunjucks | twig | hbs] hbs ? Which CSS pre-processor would you like? [less | sass | stylus] sass ? Would you like to include a Blog? Yes ? Would you like to include an Image Gallery? Yes ? Would you like to include a Contact Form? Yes ? What would you like to call the User model? User ? Enter an email address for the first Admin user: admin@juanluramirez.com ? Enter a password for the first Admin user: Please use a temporary password as it will be saved in plain text and change it after the first login. admin ? Would you like to include gulp or grunt? [gulp | grunt | none] gulp ? Would you like to create a new directory for your project? No ? ------------------------------------------------ KeystoneJS integrates with Mandrill (from Mailchimp) for email sending. Would you like to include Email configuration in your project? No ? ------------------------------------------------ KeystoneJS integrates with Cloudinary for image upload, resizing and hosting. See http://keystonejs.com/docs/configuration/#services-cloudinary for more info. CloudinaryImage fields are used by the blog and gallery templates. You can skip this for now (we'll include demo account details) Please enter your Cloudinary URL: ? ------------------------------------------------ Finally, would you like to include extra code comments in your project? If you're new to Keystone, these may be helpful. Yes
- Hbs: Modulo para la utilización de plantillas
- Sass: es una biblioteca que proporciona enlaces para Node.js a LibSass
- Gulp: Gulp es un conjunto de herramientas que te ayuda a automatizar tareas dolorosas o que consumen mucho tiempo en tu flujo de trabajo de desarrollo.
Arrancar servidor node.js
Una vez realizado los pasos anteriores arrancamos el servidor:
root@debian:/home/usuario/keystone# node keystone ------------------------------------------------ Applying update 0.0.1-admins... ------------------------------------------------ iaw8: Successfully applied update 0.0.1-admins. Successfully created: * 1 User ------------------------------------------------ Successfully applied 1 update. ------------------------------------------------ ------------------------------------------------ KeystoneJS Started: iaw8 is ready on port 3000 ------------------------------------------------ GET / 200 100.731 ms
Nos loguearemos con el usuario administrador que será el correo que hemos especificado en la instalación.
Y crearemos el usuario, al cual vamos a llamar “usuario”.
No se han encontrado comentarios