Montar un servicio web en segundos con JavaScript y Node.js (en Windows y en Linux).
- Requisitos para montar mini-servidor web con JavaScript y Node.js.
- Desplegar servidor web con JavaScript y Node.js en Linux y Windows.
Requisitos para montar mini-servidor web con JavaScript y Node.js
Instalar Node.js en Windows y Linux
Instalar Node.js en Windows
Para el caso de Windows, descargaremos el instalador desde la web oficial de Node.js. Tendremos la opción de descargar los binarios (ejecutable listo para usar), desde:
O bien el instalador MSI:
En este caso, usaremos el instalador MSI de Node.js node-v22.12.0-x64.msi. Lo descargaremos y lo ejecutaremos. Seguiremos los pasos del asistente de instalación (marcaremos «npm package manager» para disponer de este instalador de paquetes):
Una vez instalado, si hemos marcado la opción «Add to PATH», abriendo una ventana de MS-DOS (cmd o Símbolo del sistema), podremos ejecutar el comando:
1 |
node -v |
Si devuelve la versión de Node.js, la instalación habrá sido correcta:
Instalar Node.js en Linux
Para instalar Node.js en un equipo Linux, existen varios métodos de instalación, que también variarán en función de la distribución. Para el caso de un equipo Linux Ubuntu Server 24.04, será suficiente con ejecutar el siguiente comando para instalar Node.js:
1 |
sudo apt install nodejs |
Una vez instalado, comprobaremos que la instalación ha sido correcta, ejecutando el mismo comando que para Windows:
1 |
node -v |
Nos devolverá la versión:
Para disponer de nmp, ejecutaremos el comando:
1 |
sudo apt install npm |
Puerto a usar para servidor web libre
El servidor web se levantará usando un puerto indicado. Dicho puerto no debe estar en uso en el equipo. Si está en uso, al iniciar el servidor web Node.js, devolverá el error:
Desplegar servidor web con JavaScript y Node.js en Linux y Windows
Desplegar servidor web Node.js en Linux
En el caso de Linux, crearemos un fichero usando algún editor de texto, como nano o vi. Le añadiremos el siguiente código JavaScript:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 |
// Ejemplo de servidor web en JavaScript - ProyectoA // Importamos el método createServer de node:http import { createServer } from 'node:http'; const PUERTO = 8888 // Usamos el método createServer de Node.js para crear una instancia de servidor web const servidorWeb = createServer((req, res) => { res.writeHead(200, { 'Content-Type': 'text/html' }); res.end('Mi primer servidor web en Node.js<br><br>Por <b>ProyectoA</b>.'); }); // Iniciamos el servidor web en el puerto establecido servidorWeb.listen(PUERTO, error => { // Si se produce un error, lo mostramos if (error) { return console.error(error); } // Si no se produce error, mostramos por consola el estado del servidor web console.log(`Iniciado servidor web, escuchando en 127.0.0.1:${PUERTO}`); }); |
Guardaremos el fichero anterior con el nombre servidor_web.mjs. Si hemos usado nano, pulsaremos Control + O para guardar y Control + X para salir de la edición.
Para compilar el fichero JavaScript con Node.js, ejecutaremos el comando:
1 |
node servidor_web.mjs |
Si el código es correcto, se levantará el servidor web en el puerto indicado en la constante PUERTO del código.
Si tenemos abierto dicho puerto en el cortafuegos, podremos acceder desde otro equipo de la red a nuestro servidor web, introduciendo en la URL:
http://ip_equipo_servidor_web:puerto
Además, como hemos usado el formato HTML, el resultado de nuestra página web aparecerá formateado en HTML:
Desplegar servidor web Node.js en Windows
El despliegue en un equipo Windows es similar al de Linux. Crearemos un fichero llamado servidor_web.mjs con el mismo contenido que para Linux. Abriremos una ventana de MS-DOS (Símbolo del sistema) y accederemos a la carpeta donde tengamos el fichero servidor_web.mjs.
Para compilarlo, ejecutaremos el mismo comando que para el caso de Linux:
1 |
node servidor_web.mjs |
Si todo es correcto, se iniciará el servidor web, quedando a la escucha por el puerto indicado (en este caso el 8888):
Si abrimos un navegador web (o bien en el propio equipo o bien en otro de la red, siempre que se haya abierto el puerto en el cortafuegos), nos devolverá la misma página web que para el caso de Linux: