Як стварыць просты вэб-сервер з 5 радкамі bash

У гэтыя дні ў блогу трохі ажывілася тэма сервераў, наш сябар Фіцо чытаў нам лекцыю пра камп'ютэрныя сеткі ў сваёй серыі Кампутарныя сеткі для МСП, а таксама пару артыкулаў па ўсталёўцы і наладзе вэб-сервераў у Як усталяваць і наладзіць XAMPP на GNU / Linux y Як аўтаматычна ўсталяваць NGINX з Google Page Speed ​​на Ubuntu.

Як свет вольнага праграмнага забеспячэння настолькі хвалюючы, часам просты, а часам крыху больш складаны, сёння мы прапануем вам невялікую 5-радковую спробу, якая дазваляе стварыць просты вэб-сервер.

Шынатра

Шынатра - назва спробы, зробленай Бэн Раадзі і што ён быў распаўсюджаны свабодна, ён настолькі эфектыўны, наколькі і дакладны, мы проста ствараем альбо загружаем bash з неабходнымі радкамі кода і выконваем bash з портам + паведамленнем, якое мы хочам размясціць.

Гэты сцэнар, які дазваляе стварыць просты вэб-сервер, працуе ў розных дыстрыбутывах GNU / Linux і ў OS X, ён не патрабуе ўстаноўкі, ён гнуткі ў шляхах, якія вы хочаце выкарыстоўваць, ён дазваляе ўсялякі кантэнт, плюс гэта можа стаць вельмі карысным інструментам, калі вы хочаце хутка змясціць інфармацыю на любы сервер.

Як карыстацца Шынатрай

Шынатра Ён складаецца з наступных радкоў кода:

#! / bin / bash RESPONSE = "HTTP / 1.1 200 ОК \ r \ nПадключэнне: падтрымліваць жывы \ r \ n \ r \ n $ {2: -" ОК "} \ r \ n" у той час як {echo -en " $ RESPONSE "; } | nc -l "$ {1: -8080}"; рабіць рэха "================================================ = "зроблена

Вы можаце проста стварыць файл .sh з любым імем, якое вы хочаце, а затым запусціць яго наступным чынам:

./shinatra.sh [port] [response]

Вы таксама можаце атрымаць абноўлены сцэнар з афіцыйных сховішчаў, для гэтага выканайце наступныя дзеянні:

git clone https://github.com/benrady/shinatra.git cd shinatra / ./shinatra.sh 80 'Адказаць паведамленне сервера'

Да сцэнарыя вы можаце адправіць усё, што заўгодна, напрыклад:

Стварыце просты вэб-сервер

Несумненна, хуткі, просты і просты спосаб запусціць вэб-сервер, карыснасць і сфера яго прымянення розныя. Што вы скарыстаеце з гэтага сцэнарыя? Вы лічыце карысным?


Змест артыкула адпавядае нашым прынцыпам рэдакцыйная этыка. Каб паведаміць пра памылку, націсніце тут.

7 каментарыяў, пакіньце свой

Пакіньце свой каментар

Ваш электронны адрас не будзе апублікаваны. Абавязковыя для запаўнення палі пазначаныя *

*

*

  1. Адказны за дадзеныя: Мігель Анхель Гатон
  2. Прызначэнне дадзеных: Кантроль спаму, кіраванне каментарыямі.
  3. Легітымнасць: ваша згода
  4. Перадача дадзеных: Дадзеныя не будуць перададзены трэцім асобам, за выключэннем юрыдычных абавязкаў.
  5. Захоўванне дадзеных: База дадзеных, размешчаная Occentus Networks (ЕС)
  6. Правы: у любы час вы можаце абмежаваць, аднавіць і выдаліць сваю інфармацыю.

  1.   Гаспар Фернандэс сказаў

    Некаторы час таму я зрабіў аналагічны сцэнар, у якім можна было вызначыць некалькі адказаў у залежнасці ад маршруту і ўсяго. Гэта не было 5 радкоў, але мы маглі зрабіць некалькі рэчаў: http://totaki.com/poesiabinaria/2015/03/mini-servidor-web-con-bash-y-netcat-para-paginas-en-mantenimiento/

    Недахопам стылю netcat з'яўляецца тое, што мы не карыстаемся перавагамі паралельнасці, і рэсурсы трацяцца шмат, але гэта добры эксперымент experiment

  2.   Гансала Марцінэс сказаў

    Іншы спосаб - з python (які пастаўляецца практычна ва ўсіх дыстрыбутывах)

    Sudo Python -m SimpleHTTPServer 80

    Ён працуе па-рознаму, такім чынам абслугоўваюцца файлы, якія знаходзяцца ў каталогу, дзе працуе сервер, але гэта яшчэ адзін просты спосаб

  3.   Хасэ Перэс сказаў

    яшчэ адзін з php
    php -S 127.0.0.1:9000

  4.   Антоніа Цыфуэнтэс малюнак запаўняльніка сказаў

    Гэты допіс я прачытаў год таму, калі вам патрэбен поўны спіс вэб-сервераў па камандным радку.

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

  5.   Эдуарда Куома сказаў

    Вы можаце перадаць файл на сервер, на якім нічога не ўстаноўлена, і ў вас няма дазволу ROOT:

    #! / Bin / Баш
    файл = »$ 1 ″
    port = 8080

    n = »\ r \ n»
    body = »$ (base64« $ {файл} »)»

    RESPONSE = »HTTP / 1.1 200 ОК»
    RESPONSE = »$ {RESPONSE} $ {n} Падключэнне: падтрымліваць жывы»
    RESPONSE = »$ {RESPONSE} $ {n} Тып змесціва: дадатак / акэт-паток»
    RESPONSE = »$ {RESPONSE} $ {n} Размяшчэнне змесціва: убудавана; імя файла = \ »$ {файл} \» »
    RESPONSE = »$ {RESPONSE} $ {n} $ {n} $ {body}»

    while {echo -en "$ RESPONSE"; } | nc -l "$ {порт}"; рабіць
    рэха «================================================»
    зроблены

    Затым, атрымаўшы яго, вы зноў пераўтворыце яго з "base64 -d імя файла"

  6.   Эдуарда Куома сказаў

    Ёсць яшчэ шмат прыкладаў у:
    $ чалавек nc

  7.   Хасэ Марыя Гарсія сказаў

    У Linux і macOS можна выкарыстоўваць пераважны менеджэр абалонак і пакетаў. У Windows 10 вы можаце ўсталяваць падсістэму Windows для Linux, каб атрымаць версію Ubuntu і Bash, інтэграваную з Windows, вельмі добры ўрок.

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