Como criar um servidor web simples com 5 linhas de bash

Nestes dias o blog anda um pouco animado com o tema servidores, o nosso amigo Fico tem nos dado uma palestra sobre redes de computadores em sua série Redes de computadores para PMEs, além de alguns artigos para instalar e configurar servidores web em Como instalar e configurar o XAMPP no GNU / Linux y Como instalar NGINX com Google Page Speed ​​no Ubuntu automaticamente.

Como o mundo do software livre é tão estimulante, às vezes simples e outras um pouco mais complexo, hoje trazemos para você uma pequena tentativa de 5 linhas, que nos permite criar um servidor web simples.

Shinatra

Shinatra é o nome da tentativa feita por Ben Raady e que foi distribuído gratuitamente, é tão eficaz quanto preciso, simplesmente criamos ou baixamos o bash com as linhas de código necessárias e executamos o bash com a porta + a mensagem que queremos hospedar.

Este script que nos permite criar um servidor web simples, funciona em várias distros GNU / Linux e no OS X, não precisa de instalação, é flexível nos caminhos que deseja utilizar, permite todo tipo de conteúdo, além de poder alcançar ser uma ferramenta muito útil, caso queira colocar informação rapidamente em algum servidor.

Como usar o Shinatra

Shinatra É composto pelas seguintes linhas de código:

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

Você pode simplesmente criar um arquivo .sh, com o nome que desejar e executá-lo da seguinte maneira:

./shinatra.sh [port] [response]

Você também pode obter o script atualizado nos repositórios oficiais, para fazer isso, siga estas etapas:

git clone https://github.com/benrady/shinatra.git cd shinatra / ./shinatra.sh 80 'Mensagem de resposta do servidor'

Para o script você pode enviar o que quiser, por exemplo:

Crie um servidor web simples

Sem dúvida, uma maneira rápida, simples e fácil de colocar um servidor web para funcionar, a utilidade e o alcance do mesmo são variados. Que uso você faria deste script? Você acha isso útil?


Deixe um comentário

Seu endereço de email não será publicado. Campos obrigatórios são marcados com *

*

*

  1. Responsável pelos dados: Miguel Ángel Gatón
  2. Finalidade dos dados: Controle de SPAM, gerenciamento de comentários.
  3. Legitimação: Seu consentimento
  4. Comunicação de dados: Os dados não serão comunicados a terceiros, exceto por obrigação legal.
  5. Armazenamento de dados: banco de dados hospedado pela Occentus Networks (UE)
  6. Direitos: A qualquer momento você pode limitar, recuperar e excluir suas informações.

  1.   Gaspar Fernandez dito

    Há algum tempo fiz um script parecido no qual era possível definir várias respostas de acordo com a rota e tudo. Não eram 5 linhas, mas podíamos fazer várias coisas: http://totaki.com/poesiabinaria/2015/03/mini-servidor-web-con-bash-y-netcat-para-paginas-en-mantenimiento/

    A desvantagem de fazer isso no estilo netcat é que não tiramos proveito da simultaneidade e os recursos são muito desperdiçados, mas é uma boa experiência 🙂

  2.   Gonzalo Martinez dito

    Outra maneira é com o python (que vem em praticamente todas as distros)

    sudo python -m SimpleHTTPServer 80

    Funciona de forma diferente, desta forma atende os arquivos que estão no diretório onde o servidor está rodando, mas é outra forma simples

  3.   Jose Perez dito

    outro com php é
    php -S 127.0.0.1:9000

  4.   Imagem de Antonio Cifuentes placeholder dito

    Eu li este post há um ano, caso você queira uma lista completa de servidores web de linha de comando.

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

  5.   Eduardo cuomo dito

    Você pode transferir um arquivo em um servidor que não tenha nada instalado e você não tenha permissão de ROOT:

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

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

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

    enquanto {echo -en "$ RESPONSE"; } | nc -l "$ {port}"; Faz
    echo «================================================== »
    feito

    Então, ao recebê-lo, você o transforma novamente com "nome do arquivo base64 -d"

  6.   Eduardo cuomo dito

    Existem muitos outros exemplos em:
    $ homem nc

  7.   Jose maria garcia dito

    No Linux e no macOS, o shell e o gerenciador de pacotes preferidos podem ser usados. No Windows 10, você pode instalar o Windows Subsystem for Linux para obter uma versão do Ubuntu e Bash integrado ao Windows, tutorial muito bom.

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