Servidor web con Python

Montar servidor web con Python

Cuando queremos levantar, de forma rápida, un servidor web y no queremos instalar Apache o Nginx porque, por ejemplo, es para compartir algunos archivos, la manera más eficaz es usar Python.

Con un simple comando tendremos y estaremos ejecutando un servidor http teniendo como directorio base el mismo en el que lo estemos invocando.

Si estamos en:

y ejecutamos:

tendremos levanto, así de fácil y rápido un servidor http al cual podremos acceder desdde un navegador cualquiera escribiendo en la URL:

Si por algún motivo no tenemos credenciales de administrador y no podemos usar sudo, podremos usarlo especificando otro puerto diferente al 80.

Obviamente el puerto tiene que estar libre y, si existe un cortafuegos, el puerto tiene que estar abierto.

A partir de este momento si queremos descargar un archivo podremos hacerlo con el navegador y el botón derecho del ratón o si preferimos la línea de comandos en la terminal podremos usar las herramientas wget o curl.

Opciones de un servidor http Python

Este servidor es muy básico pero nos permite algunas opciones.

Especificar la interfaz de red

Por defecto, http.server escucha en todas las interfaces de red (0.0.0.0) pero podemos restringirlo a una única interfaz específica (por ejemplo, solo localhost):

Cambiar el directorio base

El directorio por defecto del servidor http es desde el directorio que lo invocamos aunque podemos cambiar desde el cual el servidor servirá los archivos utilizando --directory.

Usar cgi-bin

También podemos usar http.server para ejecutar scripts CGI (Common Gateway Interface) con la opción --cgi. Esto requerirá que los scripts estén en un directorio llamado cgi-bin.


Si necesitas más funcionalidades, se le puede facilitar una clase de servidor personalizada que deberá estar programada en Pyhton creando una subclase personalizada de http.server.SimpleHTTPRequestHandler y usarla con http.server.

Si aún necesitas otras funcionalidades tendrás que instalar Apache o Nginx.

Facebook
X
LinkedIn
WhatsApp
Email

Sobre mi

Trabajo en el desarrollo de webs profesionales desde hace más de 25 años.
También me dedico a mis proyectos personales.

Últimas notas publicadas

Categorías

Scroll al inicio