Hur man skapar en enkel webbserver med 5 rader bash

Dessa dagar har bloggen varit lite livlig med ämnet servrar, vår vän Fico har gett oss en föreläsning om datanätverk i sin serie Datornätverk för små och medelstora företag, plus ett par artiklar för installation och konfigurering av webbservrar i Hur man installerar och konfigurerar XAMPP på GNU / Linux y Hur man installerar NGINX med Google Page Speed ​​på Ubuntu automatiskt.

Hur världen av fri programvara är så vårdande, ibland enkel och andra gånger lite mer komplex, idag ger vi dig ett litet 5-radsförsök som gör att vi kan skapa en enkel webbserver.

shinatra

shinatra är namnet på det försök som gjorts av Ben raady och att den har distribuerats fritt, den är lika effektiv som den är korrekt, vi skapar eller laddar helt enkelt ner bash med nödvändiga kodrader och kör bash med porten + meddelandet som vi vill vara värd för.

Det här skriptet som låter oss skapa en enkel webbserver, fungerar i olika GNU / Linux-distributioner och i OS X, det behöver inte installeras, det är flexibelt i de banor som du vill använda, det tillåter alla typer av innehåll, plus det kan nå vara ett mycket användbart verktyg om du snabbt vill lägga information på någon server.

Hur du använder Shinatra

shinatra Den består av följande kodrader:

#! / bin / bash RESPONSE = "HTTP / 1.1 200 OK \ r \ nFörbindelse: hålla vid liv \ r \ n \ r \ n $ {2: -" OK "} \ r \ n" medan {echo -en " $ RESPONSE "; } | nc -l "$ {1: -8080}"; gör echo "================================================== = "gjort

Du kan helt enkelt skapa en .sh-fil med vilket namn du vill och sedan köra den enligt följande:

./shinatra.sh [port] [response]

Du kan också hämta det uppdaterade skriptet från de officiella förvaren, för att göra detta, följ dessa steg:

git-klon https://github.com/benrady/shinatra.git cd shinatra / ./shinatra.sh 80 'Serversvarmeddelande'

Till manuset kan du skicka vad du vill, till exempel:

Skapa en enkel webbserver

Utan tvekan, ett snabbt, enkelt och enkelt sätt att få en webbserver att fungera, är användningen och omfattningen varierad. Vad skulle du använda det här skriptet? Tycker du att det är användbart?


Lämna din kommentar

Din e-postadress kommer inte att publiceras. Obligatoriska fält är markerade med *

*

*

  1. Ansvarig för uppgifterna: Miguel Ángel Gatón
  2. Syftet med uppgifterna: Kontrollera skräppost, kommentarhantering.
  3. Legitimering: Ditt samtycke
  4. Kommunikation av uppgifterna: Uppgifterna kommer inte att kommuniceras till tredje part förutom enligt laglig skyldighet.
  5. Datalagring: databas värd för Occentus Networks (EU)
  6. Rättigheter: När som helst kan du begränsa, återställa och radera din information.

  1.   Gaspar Fernandez sade

    För en tid sedan gjorde jag ett liknande manus där du kunde definiera flera svar beroende på rutten och allt. Det var inte fem rader men vi kunde göra flera saker: http://totaki.com/poesiabinaria/2015/03/mini-servidor-web-con-bash-y-netcat-para-paginas-en-mantenimiento/

    Nackdelen med att göra det netcat-stil är att vi inte utnyttjar samtidighet, och resurser slösas bort mycket, men det är ett trevligt experiment 🙂

  2.   Gonzalo Martinez sade

    Ett annat sätt är med python (som kommer i praktiskt taget alla distros)

    sudo python -m SimpleHTTPServer 80

    Det fungerar annorlunda, det här tjänar filerna i katalogen där servern körs, men det är ett annat enkelt sätt

  3.   jose perez sade

    en annan med php är
    php -S 127.0.0.1:9000

  4.   Platshållarbild för Antonio Cifuentes sade

    Jag läste detta inlägg för ett år sedan, om du vill ha en fullständig lista över kommandoradswebbservrar.

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

  5.   Edward Cuomo sade

    Du kan överföra en fil till en server som inte har något installerat och du har inte root-behörighet:

    #! / Bin / bash
    fil = »$ 1 ″
    port = 8080

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

    SVAR = »HTTP / 1.1 200 OK»
    RESPONSE = »$ {RESPONSE} $ {n} Anslutning: hålla vid liv»
    RESPONSE = »$ {RESPONSE} $ {n} Innehållstyp: applikation / oktettström»
    RESPONSE = »$ {RESPONSE} $ {n} Content-Disposition: inline; filnamn = \ »$ {fil} \» »
    RESPONSE = »$ {RESPONSE} $ {n} $ {n} $ {body}»

    medan {echo -en "$ RESPONSE"; } | nc -l "$ {port}"; do
    eko «==================================================
    gjort

    Sedan, när du får den, omvandlar du den igen med "base64 -d filnamn"

  6.   Edward Cuomo sade

    Det finns många fler exempel i:
    $ man nc

  7.   Jose Maria Garcia sade

    På Linux och macOS kan den föredragna skal- och pakethanteraren användas. På Windows 10 kan du installera Windows Subsystem för Linux för att få en version av Ubuntu och Bash integrerad med Windows, mycket bra handledning.

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