Hoe maak je een eenvoudige webserver met 5 regels bash

Tegenwoordig is de blog een beetje levendig met het onderwerp servers, onze vriend Fico heeft ons een lezing gegeven over computernetwerken in zijn serie Computernetwerken voor het MKB, plus een aantal artikelen voor het installeren en configureren van webservers in XAMPP op GNU / Linux installeren en configureren y Hoe NGINX automatisch met Google Page Speed ​​op Ubuntu te installeren.

Hoe de wereld van gratis software zo rijk is, soms eenvoudig en soms wat complexer, vandaag brengen we je een kleine poging van 5 regels, waarmee we een eenvoudige webserver kunnen maken.

shinatra

shinatra is de naam van de poging van Ben raady en dat het vrijelijk is gedistribueerd, het is even effectief als nauwkeurig, we maken of downloaden eenvoudigweg de bash met de nodige regels code en voeren de bash uit met de poort + het bericht dat we willen hosten.

Dit script waarmee we een eenvoudige webserver kunnen maken, werkt in verschillende GNU / Linux-distributies en in OS X, het hoeft niet te worden geïnstalleerd, het is flexibel in de paden die je wilt gebruiken, het staat alle soorten inhoud toe, plus het kan een erg handig hulpmiddel zijn, voor het geval u snel informatie op een server wilt zetten.

Hoe Shinatra te gebruiken

shinatra Het bestaat uit de volgende regels code:

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

U kunt eenvoudig een .sh-bestand maken, met een willekeurige naam, en het vervolgens als volgt uitvoeren:

./shinatra.sh [port] [response]

Je kunt het bijgewerkte script ook ophalen uit de officiële repositories, volg hiervoor deze stappen:

git clone https://github.com/benrady/shinatra.git cd shinatra / ./shinatra.sh 80 'Server antwoordbericht'

Naar het script kun je sturen wat je maar wilt, bijvoorbeeld:

Maak een eenvoudige webserver

Zonder twijfel is een snelle, eenvoudige en gemakkelijke manier om een ​​webserver aan het werk te zetten, het nut en de omvang ervan gevarieerd. Wat voor gebruik zou u van dit script maken? Vindt u het nuttig?


Laat je reactie achter

Uw e-mailadres wordt niet gepubliceerd. Verplichte velden zijn gemarkeerd met *

*

*

  1. Verantwoordelijk voor de gegevens: Miguel Ángel Gatón
  2. Doel van de gegevens: Controle SPAM, commentaarbeheer.
  3. Legitimatie: uw toestemming
  4. Mededeling van de gegevens: De gegevens worden niet aan derden meegedeeld, behalve op grond van wettelijke verplichting.
  5. Gegevensopslag: database gehost door Occentus Networks (EU)
  6. Rechten: u kunt uw gegevens op elk moment beperken, herstellen en verwijderen.

  1.   Gaspar Fernandez zei

    Enige tijd geleden heb ik een soortgelijk script gemaakt waarin je verschillende reacties kon definiëren op basis van de route en alles. Het waren niet 5 regels, maar we konden verschillende dingen doen: http://totaki.com/poesiabinaria/2015/03/mini-servidor-web-con-bash-y-netcat-para-paginas-en-mantenimiento/

    Het nadeel van het doen in netcat-stijl is dat we geen gebruik maken van gelijktijdigheid en dat er veel middelen worden verspild, maar het is een leuk experiment 🙂

  2.   Gonzalo Martinez zei

    Een andere manier is met python (die in praktisch alle distributies wordt geleverd)

    sudo python -m SimpleHTTPServer 80

    Het werkt anders, op deze manier worden de bestanden bediend die in de directory staan ​​waar de server op draait, maar het is een andere eenvoudige manier

  3.   jose perez zei

    een andere met php is
    php-S 127.0.0.1:9000

  4.   Tijdelijke afbeelding voor Antonio Cifuentes zei

    Ik heb dit bericht een jaar geleden gelezen, voor het geval je een volledige lijst met opdrachtregelwebservers wilt.

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

  5.   Edward Cuomo zei

    U kunt een bestand overbrengen naar een server waarop niets is geïnstalleerd en u heeft geen ROOT-toestemming:

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

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

    RESPONSE = »HTTP / 1.1 200 OK»
    RESPONSE = »$ {RESPONSE} $ {n} Verbinding: in leven houden»
    RESPONSE = »$ {RESPONSE} $ {n} Inhoudstype: applicatie / octet-stream»
    RESPONSE = »$ {RESPONSE} $ {n} Content-Disposition: inline; filename = \ »$ {file} \» »
    RESPONSE = »$ {RESPONSE} $ {n} $ {n} $ {body}»

    while {echo -en "$ RESPONSE"; } | nc -l "$ {poort}"; Doen
    echo «==============================================»
    gedaan

    Vervolgens, wanneer u het ontvangt, transformeert u het opnieuw met "base64 -d bestandsnaam"

  6.   Edward Cuomo zei

    Er zijn veel meer voorbeelden in:
    $ man nc

  7.   Jose Maria Garcia zei

    Op Linux en macOS kan de geprefereerde shell- en pakketbeheerder worden gebruikt. Op Windows 10 kun je Windows Subsystem for Linux installeren om een ​​versie van Ubuntu en Bash te integreren met Windows, een zeer goede tutorial.

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