Студопедия
Новини освіти і науки:
МАРК РЕГНЕРУС ДОСЛІДЖЕННЯ: Наскільки відрізняються діти, які виросли в одностатевих союзах


РЕЗОЛЮЦІЯ: Громадського обговорення навчальної програми статевого виховання


ЧОМУ ФОНД ОЛЕНИ ПІНЧУК І МОЗ УКРАЇНИ ПРОПАГУЮТЬ "СЕКСУАЛЬНІ УРОКИ"


ЕКЗИСТЕНЦІЙНО-ПСИХОЛОГІЧНІ ОСНОВИ ПОРУШЕННЯ СТАТЕВОЇ ІДЕНТИЧНОСТІ ПІДЛІТКІВ


Батьківський, громадянський рух в Україні закликає МОН зупинити тотальну сексуалізацію дітей і підлітків


Відкрите звернення Міністру освіти й науки України - Гриневич Лілії Михайлівні


Представництво українського жіноцтва в ООН: низький рівень культури спілкування в соціальних мережах


Гендерна антидискримінаційна експертиза може зробити нас моральними рабами


ЛІВИЙ МАРКСИЗМ У НОВИХ ПІДРУЧНИКАХ ДЛЯ ШКОЛЯРІВ


ВІДКРИТА ЗАЯВА на підтримку позиції Ганни Турчинової та права кожної людини на свободу думки, світогляду та вираження поглядів



Представник «легких» веб-серверів – nginx

Віртуальні хости

Віртуальний хостинг (англ. shared hosting) - вид хостингу, при якому безліч веб-сайтів розташоване на одному веб-сервері. Це найекономічніший вид хостингу, відповідний для невеликих проектів.

Зазвичай кожен веб-сайт розташований на своєму власному розділі веб-сервера, але вони всі разом користуються одним і тим же програмним забезпеченням.

Існує два основні методи реалізації доступу до веб-сайтів:

- по імені (також званий англ. shared IP hosting), коли всі веб-сайти використовують один загальний IP-адресу. Згідно з протоколом HTTP/1.1 веб-браузер при запиті до веб-сервера вказує доменне ім'я веб-сайту в полі Host заголовка поточного запиту, і веб-сервер використовує його для правильного виконання запиту, а також копіює це ім'я в клітинку [HTTP_HOST] суперглобального масиву $ _SERVER.

- за IP-адресою (також званий англ. dedicated IP hosting), при якому у кожного веб-сайту є власний IP-адреса, а веб-сервер має кілька фізичних або віртуальних мережевих інтерфейсів.

Віртуальний хостинг як послугу порівнюють і описують по кількісним обмеженням:

- розмір дискового простору;

- кількість місячного трафіку;

- кількість сайтів, які можна розмістити в рамках хостингу як однієї послуги;

- кількість баз даних і кількість місця під бази даних;

- кількість поштових скриньок і FTP-акаунтів;

- якісним обмеженням;

- вільні ресурси CPU, оперативної пам'яті, які впливають на швидкодію сервера.

У зв'язку з тим, що на такому сервері зазвичай знаходиться дуже багато різних сайтів, навантаження дуже непропорційна і деякі хостери обмежують ресурси сервера (в основному CPU) для скриптів користувача.

Одним з важливих критеріїв вибору хостингу є використовувана операційна система, оскільки від цього залежить програмне забезпечення, яке буде підтримувати функціональність тих чи інших сервісів. Для організації послуги віртуального хостингу використовуються сервери, що працюють під управлінням ОС Unix, наприклад, FreeBSD, GNU/Linux, а також під управлінням ОС Windows. Таким чином, послугу віртуального хостингу можна розділити на дві групи: UNIX/Linux-хостинг і Windows-хостинг.

 

nginx (англ. engine x) (по-українськи вимовляється як енжін-ікс) - веб-сервер і поштовий проксі-сервер, що працює на Unix-подібних операційних системах (тестувалася збірка і робота на FreeBSD, OpenBSD, Linux, Solaris, Mac OS X, AIX і HP-UX). Починаючи з версії 0.7.52 з'явилася бінарна збірка під Microsoft Windows.

Ігор Сисоєв почав розробку в 2002-му році. Восени 2004 року вийшов перший публічно доступний реліз. Станом на 2013 рік, підтримка та доопрацювання nginx триває.

nginx – простий, швидкий і надійний сервер, не переобтяжений функціями. Застосування nginx доцільно насамперед для статичних веб-сайтів і як проксі-сервера перед динамічними сайтами.

HTTP-сервер:

- обслуговування статичних запитів, індексних файлів, автоматичне створення списку файлів, кеш дескрипторів відкритих файлів;

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

- підтримка кешування при акселерованому проксінгу і FastCGI;

- акселерована підтримка FastCGI і memcached серверів, простий розподіл навантаження і відмовостійкість;

- модульність, фільтри, в тому числі стиск (gzip), byte-ranges (докачка), chunked відповіді, HTTP-аутентифікація, SSI-фільтр;

- кілька підзапитів на одній сторінці, оброблювані в SSI-фільтрі через проксі або FastCGI, виконуються паралельно;

- підтримка SSL;

- підтримка PSGI, WSGI;

- експериментальна підтримка вбудованого Perl.

SMTP/IMAP/POP3-проксі сервер:

- перенаправлення користувача на SMTP/IMAP/POP3-бекенд з використанням зовнішнього HTTP-сервера аутентифікації;

- проста аутентифікація (LOGIN, USER/PASS);

- підтримка SSL і STARTTLS.

У nginx робочі процеси обслуговують одночасно безліч сполук, мультиплексуючи їх викликами операційної системи select, epoll (Linux) і kqueue (FreeBSD). Робочі процеси виконують цикл обробки подій від дескрипторів (див. Подієво-орієнтоване програмування). Отримані від клієнта дані розбираються з допомогою кінцевого автомата. Розібраний запит послідовно обробляється ланцюжком модулів, що задається конфігурацією. Відповідь клієнту формується в буферах, які зберігають дані або в пам'яті, або вказують на відрізок файлу. Буфери об'єднуються в ланцюжки, що визначають послідовність, в якій дані будуть передані клієнту. Якщо операційна система підтримує ефективні операції введення-виведення, такі як writev і sendfile, то nginx застосовує їх по можливості.

Конфігурація HTTP-сервера nginx поділяється на віртуальні сервери (директива server). Віртуальні сервери поділяються на location'и (location). Для віртуального сервера можливо задати адреси і порти, на яких будуть прийматися з'єднання, а також імена, які можуть включати * для позначення довільній послідовності в першій і останній частині, або задаватися регулярним виразом.

location'и можуть задаватися точним URI, частиною URI, або регулярним виразом. location'и можуть бути налаштовані для обслуговування запитів із статичного файлу, проксінг на fastcgi/memcached сервер.

Для ефективного управління пам'яттю nginx використовує пули. Пул - це послідовність попередньо виділених блоків динамічної пам'яті. Довжина блоку варіюється від 1 до 16 кілобайт. Спочатку під пул виділяється тільки один блок. Блок поділяється на зайняту область і незайняту. Виділення дрібних об'єктів виконується шляхом просування покажчика на незайняту область з урахуванням вирівнювання. Якщо незайнятої області в усіх блоках не вистачає для виділення нового об'єкта, то виділяється новий блок. Якщо розмір виділяється об'єкта перевищує значення константи NGX_MAX_ALLOC_FROM_POOL, чи довжину блоку, то він повністю виділяється з купи.

Таким чином, дрібні об'єкти виділяються дуже швидко і мають накладні витрати тільки на вирівнювання.

nginx містить модуль географічної класифікації клієнтів за IP-адресою. У його основу входить база даних відповідності IP-адрес географічного регіону, представлена у вигляді Radix tree (стислий префіксних дерево або стиснене бор) в оперативній пам'яті. nginx попередньо розподіляє перші кілька рівнів дерева, таким чином, щоб вони займали рівно 1 сторінку пам'яті. Це гарантує, що при пошуку IP-адреси для перших декількох вузлів при трансляції адреси завжди знайдеться запис в TLB.

За даними Netcraft на травень 2012 року, число сайтів, що обслуговуються nginx, перевищує 70 мільйонів, що робить його третім за популярністю веб-сервером в світі. При цьому, відсоток активних сайтів, що використовують nginx, становить 12,49% від загальної кількості активних сайтів, що робить nginx другим у світі за популярністю веб-сервером серед активних сайтів, поступаючись лише веб-серверу Apache.

За даними W3Techs, nginx найбільш часто використовується на високонавантажених сайтах, займаючи друге місце за частотою використання серед 1000 найбільш відвідуваних сайтів у світі - майже четверта частина таких сайтів працює на nginx.

За даними 1stat.RU, nginx є найпопулярнішим веб-сервером доменної зони. Ru, обслуговуючи більше половини всього сегмента.

Серед відомих проектів, що використовують nginx: Rambler, Yandex, Mail.ru, Ukr.net, Begun, Wordpress.com, SourceForge.net, vk.com, Facebook, Groupon, Diary.ru, Rutracker.org і багато інших.

У зв'язку зі зростаючою популярністю керівництво проекту nginx вирішило почати пропонувати комерційний сервіс для своїх клієнтів. Для цього були введені три пакети технічної підтримки - Premium, Advanced і Essential. Ці пакети включають в себе установку, підвищення продуктивності, конфігурацію, супровід програмного забезпечення, реалізацію, сприяння у проектуванні та фінальної оптимізації.

 


Читайте також:

  1. Адвокат як представник по потерпілого, цивільного позивача і цивільного відповідача.
  2. Вибір конкретної різновидності товару-представника.
  3. Видатні представники емпіричного напрямку у філософії Нового часу
  4. Вимоги закону до представника, адвоката та помічника адвоката
  5. Відповідно до цивільного процесуального законодавства не можуть виступати як представники в суді судді, слідчі та прокурори (ст. 41 ЦПК).
  6. Г Сковорода є найяскравішим і найхарактернішим представником української національної філософської думки.
  7. Девіаційна поведінка представників окремих соціальних груп
  8. Документи, що посвідчують повноваження представників
  9. Загальна характеристика філософії Нового часу: школи, представники, ідеї.
  10. Загальна характеристика філософії Нового часу: школи, представники, ідеї.
  11. Злочини проти представників влади, органів місцевого самоврядування, працівників правоохоронних органів, членів громадських формувань.
  12. Злочини, що посягають на життя, здоров’я, особисту безпеку, інші блага та інтереси захисників чи представників особи у зв’язку з їх діяльністю з надання правової допомоги.




Переглядів: 1018

<== попередня сторінка | наступна сторінка ==>
Конфігурація Apache, додавання і налаштування модулів | Поняття проксі-серверу

Не знайшли потрібну інформацію? Скористайтесь пошуком google:

  

© studopedia.com.ua При використанні або копіюванні матеріалів пряме посилання на сайт обов'язкове.


Генерація сторінки за: 0.002 сек.