Com crear un simple servidor web amb 5 línies de bash

Aquests dies el bloc ha estat una mica animat amb el tema dels servidors, el nostre amic Fico ens ha anat donant càtedra sobre les xarxes d'ordinadors en la seva sèrie Xarxes de Ordinadors per a les PIMES, A més d'un parell d'articles per a instal·lar i configurar servidors web a Com instal · lar i configurar XAMPP en GNU / Linux y Com instal·lar Nginx amb Google Page Speed ​​en Ubuntu automàticament.

Com el món del programari lliure és tan nodrit, de vegades simple i altres vegades una mica més complex, el dia d'avui li portem un petit bash de 5 línies, que ens permet crear un simple servidor web.

Shinatra

Shinatra és el nom de l'bash realitzat per Ben Rady i que ha estat distribuït de manera lliure, és tan efectiu com cal, simplement vam crear o descarreguem el bash amb les línies de codi necessàries i executem el bash amb el port + el missatge que volem allotjar.

Aquest script que ens permet crear un simple servidor web, funciona en diverses distros GNU / Linux i en OS X, no necessita instal·lació, és flexible en les rutes que es volen utilitzar, permet tot tipus de contingut, a més que pot a arribar a ser una eina molt útil, en el cas que desitgis col·locar informació de manera ràpida en qualsevol servidor.

Com utilitzar Shinatra

Shinatra està compost per les següents línies de codi:

#! / Bin / bash RESPONSE = "HTTP / 1.1 200 OK \ r \ nConnection: keep-alive \ r \ n \ r \ n $ {2: -" OK "} \ r \ n" while {echo -en " $ RESPONSE "; } | nc -l "$ {1: -8080}"; do echo "=============================================== = "done

Pots simplement crear un arxiu .sh, amb el nom que desitgis i després executar de la manera següent:

./shinatra.sh [port] [response]

També pots obtenir el script actualitzat des dels repositoris oficials, per a això segueix els següents passos:

git clone https://github.com/benrady/shinatra.git cd shinatra / ./shinatra.sh 80 'Missatge de Resposta de l'Servidor'

A l'script pots enviar-li el que vulguis, per exemple:

Crear un simple servidor web

Sens dubte una manera ràpida, senzilla i fàcil de posar a funcionar un servidor web, la utilitat i l'abast de la mateixa és variada. Quin ús li donaries a aquest script? Et sembla útil ?.


Deixa el teu comentari

La seva adreça de correu electrònic no es publicarà. Els camps obligatoris estan marcats amb *

*

*

  1. Responsable de les dades: Miguel Ángel Gatón
  2. Finalitat de les dades: Controlar l'SPAM, gestió de comentaris.
  3. Legitimació: El teu consentiment
  4. Comunicació de les dades: No es comunicaran les dades a tercers excepte per obligació legal.
  5. Emmagatzematge de les dades: Base de dades allotjada en Occentus Networks (UE)
  6. Drets: En qualsevol moment pots limitar, recuperar i esborrar la teva informació.

  1.   Gaspar Fernández va dir

    Fa un temps vaig fer jo un script semblant en què podies definir vàries de les respostes segons la ruta i tot. No eren 5 línies però podíem fer diverses coses: http://totaki.com/poesiabinaria/2015/03/mini-servidor-web-con-bash-y-netcat-para-paginas-en-mantenimiento/

    El dolent de fer-ho a l'estil netcat és que no aprofitem concurrència, i els recursos es malgasten molt, però és un bonic experiment 🙂

  2.   Gonzalo Martínez va dir

    Una altra forma és amb python (que ve pràcticament en totes les distros)

    suo python -m SimpleHTTPServer 80

    Funciona diferent, aquesta forma serveix els arxius que estiguin en el directori on s'executi el servidor, però és una altra forma simple

  3.   jose perez va dir

    una altra amb php és
    php -S 127.0.0.1:9000

  4.   Antonio Cifuentes va dir

    Aquest post el vaig llegir fa un anyet, per si volen una llista completeta de servidors web per línia de comandes.

    https://www.busindre.com/servidor_web_por_linea_de_comandos.

  5.   Eduardo Cuomo va dir

    Pots transferir un arxiu en un servidor que no té res instal·lat, i no tens permís ROOT:

    #! / Bin / bash
    file = »$ 1"
    port = 8080

    n = »\ r \ n»
    body = »$ (base64« $ {file} »)»

    RESPONSE = »HTTP / 1.1 200 OK»
    RESPONSE = »$ {RESPONSE} $ {n} Connection: keep-alive»
    RESPONSE = »$ {RESPONSE} $ {n} Content-Type: application / octet-stream»
    RESPONSE = »$ {RESPONSE} $ {n} Content-Disposition: inline; filename = \ »$ {file} \» »
    RESPONSE = »$ {RESPONSE} $ {n} $ {n} $ {body}»

    while {echo -en «$ RESPONSE»; } | nc -l «$ {port}»; do
    fet «================================================ »
    fet

    Després, a l'rebre-ho transformes novament amb «base64 -d filename»

  6.   Eduardo Cuomo va dir

    Hi ha molts exemples més a:
    $ Man nc

  7.   José María García va dir

    A Linux i macOS, es pot utilitzar l'administrador de shell i paquets preferit. Al Windows 10, pot instal · lar Windows Subsystem per a Linux per obtenir una versió d'Ubuntu i Bash integrada amb Windows, molt bon tutorial.

    https://clongeek.com/como-instalar-macos-desde-usb/