В наші дні в блозі було трохи жваво про тему серверів, наш друг Фіцо читав нам лекцію про комп'ютерні мережі у своїй серії Комп’ютерні мережі для МСП, а також кілька статей про встановлення та налаштування веб-серверів у Як встановити та налаштувати 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 'Повідомлення відповіді сервера'
До сценарію ви можете надіслати все, що завгодно, наприклад:
Безперечно, швидкий, простий і легкий спосіб налагодити роботу веб-сервера, корисність і сфера його використання різноманітна. Яку користь від цього сценарію? Чи вважаєте Ви це корисним?
Деякий час тому я зробив подібний сценарій, в якому ви можете визначити кілька відповідей відповідно до маршруту та всього іншого. Це не було 5 рядків, але ми могли зробити кілька речей: http://totaki.com/poesiabinaria/2015/03/mini-servidor-web-con-bash-y-netcat-para-paginas-en-mantenimiento/
Недоліком роботи в стилі netcat є те, що ми не користуємося перевагами одночасності, а ресурси витрачаються багато, але це приємний експеримент 🙂
Інший спосіб - з python (який постачається практично у всіх дистрибутивах)
sudo python -m SimpleHTTPServer 80
Це працює по-різному, таким чином обслуговуються файли, що знаходяться в директорії, де працює сервер, але це інший простий спосіб
інший з php є
php -S 127.0.0.1:9000
Цей допис я прочитав рік тому на випадок, якщо вам потрібен повний список веб-серверів за командним рядком.
https://www.busindre.com/servidor_web_por_linea_de_comandos.
Ви можете перенести файл на сервер, на якому нічого не встановлено, і у вас немає дозволу 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"
Є ще багато прикладів у:
$ людина nc
У Linux та macOS можна використовувати бажаний менеджер оболонок та пакетів. У Windows 10 можна встановити підсистему Windows для Linux, щоб отримати версію Ubuntu та Bash, інтегровану з Windows, дуже хороший підручник.
https://clongeek.com/como-instalar-macos-desde-usb/