Herramientas de usuario

Herramientas del sitio


clase:daw:daw:tema09

Diferencias

Muestra las diferencias entre dos versiones de la página.

Enlace a la vista de comparación

Ambos lados, revisión anteriorRevisión previa
clase:daw:daw:tema09 [2026/10/28 09:57] – borrado - editor externo (Fecha desconocida) 127.0.0.1clase:daw:daw:tema09 [2026/10/28 09:57] (actual) – ↷ Página movida de clase:daw:daw:2eval:tema09 a clase:daw:daw:tema09 Lorenzo
Línea 1: Línea 1:
 +====== 9. Administración de Servidores Web ======
 +
 +
 +
 +===== Tipos de Servidores Web =====
 +Hay dos grandes tipos de servidores web:
 +  * Servidores Web externos: Son programas completos que hacen de servidor Web. Una vez instalados/ejecutados se añade el código específico de la aplicación en la carpeta del servidor que indique la documentación
 +  * Servidores web integrados (o librerías de Servidores web): Se hace una aplicación (por ejemplo en Java) y se añade como una librería (un JAR) , el código del Servidor Web.  
 +
 +
 +===== Servidores Web externos =====
 +Para ver como funcionan los servidores Web Externos vamos a explicar dos de ellos:
 +  * Apache HTTP Server Project
 +  * nginx
 +
 +==== Apache HTTP Server Project ====
 +Este servidor Web es un proyecto de una fundación sin ánimo de lucro llamada [[https://www.apache.org/|Apache Software Fundation]]. El proyecto del servidor web se llama [[https://httpd.apache.org/|Apache HTTP Server Project]] por lo que a veces se confunde el nombre del servidor con el nombre de la fundación.
 +
 +  * **Instalacion**:Para usar el servidor Apache solo hay que descargarselo y ejecutar el programa "/bin/httpd.exe"
 +  * **Despliegue**:Para desplegar páginas web en Apache solo hay que copiarlas en la carpeta "htdocs"
 +  * **Configuración/administración**:Para configurar/administrar el servidor hay que modificar los ficheros de la carpeta "conf"
 +
 +==== nginx ====
 +nginx es un servidor web que podemos descargar desde [[http://nginx.org/]].
 +
 +  * **Instalacion**:Para usar el servidor nginx solo hay que descargarselo y ejecutar el programa "nginx.exe"
 +  * **Despliegue**:Para desplegar páginas web en nginx solo hay que copiarlas en la carpeta "html"
 +  * **Configuración/administración**:Para configurar/administrar el servidor hay que modificar los ficheros de la carpeta "conf"
 +
 +
 +
 +===== Servidores web integrados =====
 +Pasemos ahora a ver como es un servidor web integrado. Para entenderlo vamos a usar el lenguaje NodeJS como ejemplo y la librería que tendrá el servidor será [[https://expressjs.com/es/|Express]]
 +
 +  * Instalar paquete express:
 +
 +  npm install express
 +
 +
 +
 +  * Ejemplo básico: [[http://expressjs.com/es/starter/hello-world.html|Ejemplo Hello world]]. Crear el fichero "index.js" con el siguiente contenido.
 +
 +<sxh js>
 +#!/usr/bin/env node
 +
 +const express = require('express')
 +const app = express()
 +const port = 8080
 +
 +app.get('/', (request, response) => {
 +  response.send('Hello from Express!')
 +})
 +
 +
 +app.listen(port, (err) => {
 +  console.log(`server is listening on ${port}`)
 +})
 +</sxh>
 +
 +Ahora debemos ejecutar el fichero index.js
 +  node index.js
 +  
 +Y si navegamos a [[http://localhost:8080]] veremos el texto "Hello from Express!"
 +
 +
 +
 +  * Servir páginas estáticas: [[http://www.tutorialsteacher.com/nodejs/serving-static-files-in-nodejs|Serving Static Resources in Node.js]]. Deberemos crear dentro del proyecto la carpeta "html" y ahí crear el fichero "index.html". Crear el fichero "index.js" con el siguiente contenido.
 +
 +<sxh js>
 +#!/usr/bin/env node
 +
 +const express = require('express')
 +const app = express()
 +const port = 8080
 +
 +app.get('/', (request, response) => {
 +  response.send('Hello from Express!')
 +})
 +app.use('/html', express.static(__dirname + '/html'));
 +
 +
 +app.listen(port, (err) => {
 +  console.log(`server is listening on ${port}`)
 +})
 +</sxh>
 +
 +
 +Ahora debemos ejecutar el fichero index.js
 +  node index.js
 +  
 +Y si navegamos a [[http://localhost:8080/html/index.html]] veremos la página que hemos creado.
 +
 +
 +===== Ejercicios =====
 +
 +==== Ejercicio 1 ====
 +Haz las siguientes tareas:
 +  * Instala el servidor web Apache
 +  * Despliega en el servidor una página llamada "/ventas/mensuales.html" que muestre el título "Ventas Mensuales en Apache"
 +  * Modifica el servidor de forma que escuche en el puerto 1111.
 +  * Inicia el servidor Apache
 +  * Navega a [[http://localhost:1111/ventas/mensuales.html]] y comprueba que se muestra la página
 +
 +==== Ejercicio 2 ====
 +Haz las siguientes tareas:
 +  * Instala el servidor web nginx
 +  * Despliega en el servidor una página llamada "/ventas/mensuales.html" que muestre el título "Ventas Mensuales en nginx"
 +  * Modifica el servidor de forma que escuche en el puerto 2222.
 +  * Inicia el servidor nginx
 +  * Navega a [[http://localhost:2222/ventas/mensuales.html]] y comprueba que se muestra la página
 +
 +
 +
 +==== Ejercicio 3 ====
 +Crea un servidor Node en el puerto 3333 y que retorne  "Hola Mundo" en formato HTML con un <h1> pero sin que exista físicamente el fichero html
 +
 +
 +==== Ejercicio 4 ====
 +Crea un servidor Node en el puerto 4444 y que retorne  "Hola Mundo" en una página HTML que estará en la URL /site/index.html y físicamente la página estará en la sistema de archivos en "paginas/index.html"
 +
 +
 +
 +
 +
 +
 +
 +