Servidor web con Python

Este tip es especialmente útil cuando requerimos un servidor web rápido y sin necesidad de instalar softwares más potentes como Apache o Nginx. Teniendo Python instalado en el computador es posible lanzar un servidor web desde cualquier carpeta donde el usuario decida.

Para lograr esto, nos ubicamos en la carpeta que queremos compartir, con el comando ls podemos revisar el contenido de la carpeta antes de lanzar nuestro servidor, en nuestro ejemplo hemos creado 3 archivos vacios (file1, file2 y file3) y lanzamos el servidor con el siguiente comando:

python3 -m http.server 8000 --bind 127.0.0.1

Servidor Web con Python3

En este caso los parametros que le hemos dado corresponden al puerto (8000) y la red a la cual estará disponible (127.0.0.1), que será solamente para el mismo equipo, si necesitamos que quede disponible para la red local podemos reemplazar el 127.0.0.1 por 0.0.0.0. De esta forma al abrir un navegador apuntando a la IP y el puerto correpondiente podemos ver como nos aparece el listado de archivos.

Browser apuntando a http://localhost:8000

Al navegar podemos ver como el comando Python empieza a mostrar los logs del servidor en tiempo real:

Logs Servidor Web en Python

Nota: En Python2 el comando es ligeramente diferente:

user@laptop:~/Desktop$ python -m SimpleHTTPServer 8000
Serving HTTP on 0.0.0.0 port 8000 ...
127.0.0.1 - - [21/Apr/2022 09:03:41] "GET / HTTP/1.1" 200 -
127.0.0.1 - - [21/Apr/2022 09:03:41] code 404, message File not found
127.0.0.1 - - [21/Apr/2022 09:03:41] "GET /favicon.ico HTTP/1.1" 404 -
127.0.0.1 - - [21/Apr/2022 09:04:10] "GET /WOM%20CNA HTTP/1.1" 200 -
127.0.0.1 - - [21/Apr/2022 09:04:14] "GET /Fotos/ HTTP/1.1" 200 -
127.0.0.1 - - [21/Apr/2022 09:04:15] "GET /Fotos/2018-02-23%2013.51.57.jpg HTTP/1.1" 200 -

Leave a Reply

Your email address will not be published. Required fields are marked *