Як створити простий веб-сервер з 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 OK \ r \ nПідключення: тримати в живих \ r \ n \ r \ n $ {2: -" OK "} \ r \ n" в той час як {echo -en " $ ВІДПОВІДЬ "; } | 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 є те, що ми не користуємося перевагами одночасності, а ресурси витрачаються багато, але це приємний експеримент 🙂

  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:

    #! / бін / баш
    file = »$ 1 ″
    port = 8080

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

    ВІДПОВІДЬ = »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/