7 веб-серверів з відкритим кодом для малих і великих сайтів

Ми пройшли довгий шлях з моменту випуску першого веб-сервера. Тепер є ще багато цікавих варіантів.

Різні проекти мають різні потреби, але відділ веб-серверів з відкритим кодом був більш-менш монополістом. Довгий час Apache був єдиним варіантом, а робота з великими навантаженнями була неприємною. На щастя, часи змінилися, і з’явилися нові рішення для спеціальних потреб.

Отже, давайте подивимося на деякі з найкращих і найпопулярніших веб-серверів з відкритим вихідним кодом, доступних сьогодні.

Apache

Це майже синонім Всесвітньої павутини та досі працює на більшості веб-сайтів у світі.

Причина домінування Apache тричі: відкрита ліцензія, ранній вихід (це було випущено ще в 1995 році!) і просте розгортання PHP. Останній момент став можливим завдяки модулю mod_php, що означало, що встановлення Apache — це все, що вам потрібно зробити для розробки на PHP.

Ось що робить Apache чудово:

  • Доступно на всіх платформах – Linux, Windows, MacOS та інших платформах.
  • Це сервер за замовчуванням для всіх спільних хостингів CPanel, що полегшує налаштування та зміну сайтів.
  • Велика колекція пропонує безліч функцій модулі. Незалежно від того, наскільки незрозумілими були ваші потреби, обов’язково знайдеться існуючий модуль для Apache.
  • Конфігурація кожного каталогу за допомогою файлів .htaccess.
  • Підтримка HTTP/2, стиснення, статичних файлів і балансування навантаження.
  • Режими MPM і FastCGI для забезпечення високого паралелізму.
  • Легке створення сценаріїв через Lua.

Apache для вас?

Якщо коротко, то так. Був час, коли Nginx (який ми розглянемо далі) злетів через його високу продуктивність, але Apache наздогнав його після випуску 2.2. Тим не менш, як і всі перші учасники, Nginx привернув багато уваги, тому ви могли зустріти деяку (неправомірну) критику його можливостей.

Nginx

Якщо ви любите пити з фонтану «kool-aid» (або, кажучи політкоректно, слідкуйте за «останніми» подіями), швидше за все, ви чули про Nginx (вимовляється як «двигун-х», що було ідеєю назви). Він був випущений як проект у 2002 році російським інженером, якому набридла нездатність існуючих на той час рішень перемогти CK10 проблема (в основному, обробка тисяч одночасних підключень).

  Як розбудити когось по телефону

Коли Nginx вийшов, він викликав такий великий резонанс, що люди просто відійшли від Apache і більше не озиралися назад. І ця тенденція зберігається і сьогодні. Хоча сьогодні Apache, мабуть, на рівних, Nginx запропонував деякі приголомшливі вдосконалення, які допомогли йому перемогти.

  • Асинхронна архітектура для обробки високих навантажень
  • Найкраща у своєму класі обробка статичних файлів, балансування навантаження та можливості зворотного проксі.
  • Швидке кешування CGI
  • Підтримка uwsgi, SCGI та інших серверних протоколів із кешуванням.
  • Gzipping, трансформація зображень, діапазони байтів, фрагментовані відповіді тощо з потоковою передачі FLV і MKV.
  • WebSockets, підтримувати активність і конвеєрні підключення
  • Контроль доступу, перенаправлення помилок тощо.

Загалом, Nginx — потужна компанія з безліччю функцій, які тримають її попереду. Оскільки базова компанія є стабільним бізнесом, платна підтримка та консультації доступні для складних проектів, що може бути корисним для деяких.

Nginx для вас?

Якщо ви любите створювати веб-програми на свій смак, Nginx — це великий плюс. Ви можете створювати складні та розподілені системи з потужним кешуванням, проксі-сервером і балансуванням навантаження, окрім використання Nginx для безпосереднього обслуговування статичних файлів із декількома оптимізаціями.

І, так, Nginx підтримує HTTP/2.

Хочете вивчити Nginx? Подивіться це фундаментальний курс.

Кедді

Одним із найпопулярніших нових фреймворків, який останнім часом викликає фурор у спільноті відкритих кодів, є Кедді.

Подумайте про Caddy як про веб-сервер, схожий на Nginx (подібний синтаксис і все інше), але все спрощено до приємної крайності. Наприклад, інтеграцію Let’s Encrypt для SSL можна виконати всього за три рядки конфігурації.

Ось чому Кедді привертає масу уваги:

  • HTTPS увімкнено за замовчуванням. Так, вам не потрібно нічого робити для встановлення або оновлення сертифікатів SSL.
  • HTTP/2 отримує основну увагу.
  • За замовчуванням повертає ключі сеансу TLS. Це забезпечує набагато більш безпечне керування з’єднанням TLS, яке не є вразливим до Heartbleed.
  • Жодних залежностей (це двійкова кодова база, скомпільована Golang, яка не залежить від жодних базових системних бібліотек)
  • За замовчуванням обслуговує статичні файли в поточному каталозі!
  • Embeddable — можна використовувати як бібліотеку в інших програмах
  Наскільки зворотна сумісність має PlayStation 5?

Кедді для вас?

Якщо ви прагнете простоти і вас відлякують тупі конфігурації на кшталт Apache та Nginx, Caddy відчуєте себе як вітерець свіжого повітря. Тим не менш, це працює найкраще, коли ви задоволені стандартними параметрами. Наприклад, якщо ви хочете використовувати свого постачальника SSL, мати окремий каталог для статичних файлів (що майже завжди так), і так далі, переваги зникають.

Ви можете отримати Кедді на Каматері Віртуальна машина від $4 на місяць.

Lighthttpd

Єдиною сферою, де більшість сучасних веб-серверів дає збій, є використання ресурсів. Lighthttpd було розроблено для подолання цих проблем у середовищах із низьким рівнем пам’яті та ЦП.

Lighthttpd побудований на моделі асинхронної обробки запитів, і тому, по суті, відображає роботу Nginx. Але є одна заковика — Lighthttpd працює в одному потоці, тому, якщо у вас є потужніша машина, він ігноруватиме інші ядра ЦП. У ньому також відсутні модні функції Nginx, такі як SSL-проксі, HTTP/2 тощо.

Чи підходить вам Lighthttpd?

Lighthttpd — це потужний однопотоковий веб-сервер, який може легко обробляти кілька сотень запитів на секунду і при цьому не витрачати системні ресурси. Окрім цього, він не має багато чого запропонувати порівняно з альтернативами. Тож, можливо, якщо вам не потрібні всі навороти — і ви справді, дуже потієте від машинних ресурсів — Lighthttpd варто дослідити.

MonkeyServer

Незважаючи на дивну назву, Мавпа веб-сервер – цікавий проект, який продовжує активно розвиватися та підтримуватися.

Головною перевагою MonkeyServer є підтримка вбудованих платформ. Вам потрібно було б скомпілювати сервер самостійно, але ви можете вичавити всі надмірності та отримати легкий, швидкий веб-сервер.

  • В основному націлений на Linux, але підтримується також на MacOS
  • Повна підтримка процесорів на базі ARM
  • Ідеально працює на Android, Raspberry Pi та інших вбудованих платформах
  • Мінімальний час виконання (100 КБ без плагінів)
  • Підтримує IPv6 і TLS
  • Працює з CGI і FastCGI
  • Основна автентифікація, правила безпеки тощо.
  Як знайти свій ідентифікатор команди в Slack

MonkeyServer для вас?

Якщо ви хочете орієнтуватися на вбудовані пристрої, MonkeyServer – майже те, що вам потрібно. Тим не менш, він однаково добре працює на архітектурах x86 і x86-64 і може використовуватися для запуску великомасштабних програм на потужних машинах. Він має набагато активнішу та динамічнішу спільноту, ніж інші альтернативні веб-сервери, тому ви ніколи не загубитесь, якщо вам потрібна допомога.

OpenLiteSpeed

OpenLiteSpeed це версія корпоративного веб-сервера з відкритим кодом, яку пропонує LiteSpeed ​​Technologies.

Є багато причин сподобатися OpenLiteSpeed:

  • Сумісний із mod_rewrite Apache, що означає, що якщо у вас є маса наявних файлів Apache, міграція буде мінімальною.
  • Архітектура, керована подіями, у дусі Nginx, що забезпечує високу пропускну здатність.
  • Інтерфейс адміністратора на основі графічного інтерфейсу, що забезпечує зручне налаштування.
  • Власний SAPI для PHP, що забезпечує вищу продуктивність.
  • Кешування та оптимізація Google PageSpeedInsights застосовуються за умовчанням.

OpenLiteSpeed ​​для вас?

OpenLiteSpeed ​​має великий сенс для веб-сайтів, орієнтованих на вміст, оскільки оптимізація сторінок уже є частиною сервера. Оскільки він точно налаштований на продуктивність PHP, кодові бази та проекти на основі PHP можуть отримати величезну користь.

Черокі

The Черокі проект був особистим свербінням розробника, який переріс у пристойну веб-серверну платформу. Хоча він не має передових функцій, таких як Nginx, він надає просту, веселу та продуктивну альтернативу звичайним веб-серверам.

Найбільшою перевагою Cherokee є простота — немає потреби працювати з командним рядком для налаштування сервера. Дружній веб-інтерфейс поставляється в комплекті, і його приємно використовувати тим, хто віддає перевагу методу «вкажи та клацни» для виконання завдань.

Джерело: Linode

Незважаючи на те, що Cherokee не надто активно розробляється, він все ще є хорошим вибором для більшості щоденних проектів. Перевірте це!

Висновок

Життя не мало б сенсу без веб-серверів, і, на щастя, зараз у нас є з багатьох на вибір. Який ваш улюблений веб-сервер з відкритим кодом? Якщо ви вважаєте, що я пропустив важливий запис у списку, будь ласка, дайте мені знати про це в коментарях, і я з радістю додам його! 🙂