Mojolicious::Lite. 2. Un primer servidor. Morbo

Sirviendo Ficheros y contenido estático

Mojolicious es una plataforma para aplicaciones web, desarrollada en Perl e integrada con todo el conjunto de utilidades de Perl.

Mojolicious::Lite es una plataforma, para desarrollo rápido, basada en Mojolicious, de forma que un prototipo sencillo o una prueba de ideas pueda posteriormente acabar en una estructura superior.

Mojolicious::Lite es un derivado sencillo de Mojolicious, para prototipos rápidos.

Mojolicious suele estar por defecto incluida en las distribuciones de Linux.

Una vez realizada la instalación, un servidor es sencillo.

1) Nos situamos en un directorio de trabajo.

2) Creamos un directorio, llamado public.

3) Creamos un fichero, perl, por ejemplo servidor.pl, con las siguientes líneas de código

#!/usr/bin/env perl
### Sirve ficheros situados en el directorio ./public
use Mojolicious::Lite;
app->start;

4) Arrancamos el servidor, con el programa morbo, incluido en la distribución de Mojolicious, utilizando la línea de comandos en un terminal.

#### Arrancar en el puerto 3000 por defecto
$ morbo servidor.pl

### Otras alternativas Ejemplo: Puerto 7130
$ morbo -l http://127.0.0.1:7130

#### Equivalente
$ morbo -l http://localhost:7130



Por defecto el servidor arranca en el puerto 3000. La opción -l (listen en inglés) permite utilizar cualquier otro puerto.

Para probar el servidor, poner en el navegador la dirección

http://127.0.0.1:3000 o la que hayamos utilizado al arrancar morbo.

Veremos una página web, con un mensaje de error ¡Página no encontrada!. Lógico, no hay nada.

Sin embargo, este servidor distribuirá cualquier fichero que cuelgue del directorio public.

Creamos el fichero de texto, con cualquier editor public/index.html

<!doctype html>
<html>
<body>
<h1>Hola, soy un servidor web</h1>
</body>
</html>

Y en el navegador, usamos la dirección:

http://127.0.0.1:3000/index.html

El servidor saluda.

Mojolicious intentará buscar en el directorio public cualquier fichero de ese directorio y de todos sus subdirectorios, tomando public como punto inicial.

De esta forma, si existe el fichero ./public/facturas/relacion.html en el ordenador, y arrancamos morbo en el puerto por defecto, Mojolicious buscará el fichero y lo distribuirá.

## Estructura de ficheros
public
├── css
│   └── modulo1.css
├── facturas
│   └── enero
│       └── relacion.html
└── js
    └── calculos.js


## Ejemplo de direcciones a poner en el navegador
## Los ficheros, tienen que existir.

http://172.0.0.1:3000/index.html
http://127.0.0.1:3000/facturas/enero/relacion.html
http://127.0.0.1:3000/css/modulo1.css
http://127.0.0.1:3000/js/calculos.js