Избор между Apache и NGINX за вашите нужди от уеб хостинг

За да започнете с чисто нов уеб проект, наистина се нуждаете само от две неща: хостинг доставчик и сървър на HTTP (HyperText Transfer Protocol). Облачни доставчици като Amazon Web Services и Microsoft Azure предлагат набор от възможности за платформа, за да отговорят на изискванията за размера и скоростта на вашия сайт. След като се регистрирате с облачен хост, можете да изберете кой HTTP сървър да работи на вашия виртуализиран хардуер.


HTTP сървърът е отговорен за приемането на уеб заявки от посетителите на вашия сайт и след това отговаря на техния браузър със съответното съдържание. Например, основна заявка в мрежата може да поиска HTML текстово съдържание и серия от свързани изображения. HTTP сървърът ще предостави отговор в мрежата, който браузъри като Google Chrome или Mozilla Firefox могат да разберат и покажат.

Що се отнася до HTTP сървърите, две решения доминират в голяма част от текущия пейзаж: Apace и NGINX (което се произнася като „Engine X“). Прочетете, за да научите основите на двете и как те се сравняват помежду си по отношение на архитектура, производителност и други категории.

Основи на Apache

Решението на уеб сървъра Apache съществува от средата на 90-те. Предвид дълголетието и стабилността на софтуера, той остава една от най-популярните опции за хостинг на уебсайтове. Той е ключова част от стека за разработка на LAMP, който се използва от екипи от всички размери за разгръщане на динамични приложения в интернет. Другите елементи на LAMP стека са Linux (операционна система), MySQL (база данни) и PHP (скрипт от страна на сървъра).

Apache се предлага като безплатен софтуерен пакет с отворен код. Той се управлява и разработва от софтуерната фондация Apache. Когато световната мрежа се появи на сцената през 90-те, Apache беше сървърно решение по подразбиране за повечето уебсайтове. Той е проектиран с простота предвид и въпреки че позволява гъвкавост и мащабируемост, Apache придоби популярност във време, когато нивата на интернет трафик бяха много по-ниски, отколкото са днес.

Основи на NGINX

Решението на уеб сървъра NGINX бе пуснато за първи път през 2002 г. То беше създадено от единен системен администратор в Русия и стана част от общността с отворен код две години по-късно. Дизайнът зад NGINX се фокусира специално върху скоростта и производителността, две области, където някои смятат, че Apache липсва. Всъщност първоначално проектът NGINX възникна поради публичното предизвикателство на C10K, което помоли разработчиците да проектират HTTP решение, което да може да се справи с 10 000 едновременни потребители при постоянно ниво на работа.

NGINX нарасна с популярност през последното десетилетие, особено сред стартъпите, които трябва да развиват своя хардуер с бързи темпове. Въпреки това, като цяло NGINX се счита за по-труден за настройка и интегриране от Apache.

Архитектурни съображения

Софтуерният пакет Apache включва набор от многообработващи модули (известни като MPM), които позволяват на администратора на сървъра да определи как тяхното HTTP решение трябва да обработва заявките. Този тип архитектура позволява голяма гъвкавост и персонализиране.

Най-основният модул на Apache е mpm_prefork. Той работи с еднопоточна логика, при която всеки сървърен процес обработва една уеб заявка наведнъж. Това е препоръчителният модул за уеб проекти, базирани на скриптовия език на PHP. Друг модул на Apache е mpm_worker, който поддържа няколко нишки едновременно. Това ще помогне на Apache да бъде по-ефективен и мащабируем. Последният основен модул Apache, mpm_event, работи по подобен начин като mpm_worker, но добавя по-добра поддръжка за поддържане на живи връзки, които са изискване за много съвременни уеб приложения.

NGINX определено се отличава от Apache по отношение на архитектурата. Тя се основава на концепцията за управлявана от събития операция, а не при използване на процеси или нишки. Това означава, че един NGINX работник може да обработва хиляди HTTP връзки едновременно.

NGINX разчита на циклична система, която позволява на работниците бързо да набират нови заявки при всяко задействане на събитие. Събитията се обработват асинхронно, което означава, че не е необходимо да чакат последователно назначаване на други събития.

Обработка на съдържание

Днес уеб съдържанието попада в една от двете категории: статично или динамично. Статичното съдържание включва всичко на уеб страница, което остава последователно, независимо как се използва сайта. Например логото на компанията в горната част на уебсайта е парче статично съдържание. Динамичното съдържание, от друга страна, контролирано от скриптови езици като PHP и ще се променя въз основа на сесията на потребителя или други променливи. Сайтовете за електронна поща, банкови сайтове и социалните мрежи разчитат на динамично съдържание, за да покажат на потребителите техните индивидуални данни.

Apache може да обслужва статично съдържание само на една нишка, което прави NGINX по-завладяващо решение за уеб проекти, които се нуждаят от голямо количество статично съдържание, доставено бързо. Въпреки това, Apache предлага някои предимства, когато става дума за динамично съдържание. Той се интегрира лесно с PHP и може да вгради скриптов процесор директно в HTTP работника. Основният софтуерен пакет NGINX не включва поддръжка за динамично доставяне на съдържание, така че ще трябва да добавите външен процесор към вашия софтуерен стек, за да го поддържате.

Сравнения на производителността

Външните посетители на вашия уебсайт няма да се интересуват какъв HTTP сървър използвате в задния ред. Те се занимават само с бърз и надежден достъп до съдържанието ви. Поради тази причина ефективността трябва да бъде основният показател, който трябва да вземете предвид при оценката на Apache и NGINX като опции за уеб хостинг.

Благодарение на своята архитектура, управлявана от събития, NGINX обикновено се счита за най-бързото HTTP решение. Работи с минимални ресурси, дори когато уеб трафикът ви расте с времето. Това води до ниска памет и използване на процесора, докато Apache може да изисква повече хардуерна употреба по време на повишено натоварване.

Лесно изпълнение

Когато е инсталиран на уеб сървър като част от стека на софтуера LAMP, хостът Apache HTTP е невероятно прост за конфигуриране и стартиране. Повечето администратори изобщо няма да трябва да променят настройките на модула за много обработка. Повечето персонализиране на Apache ще се случи на ниво директория във файлове, които са известни като .htaccess файлове.

Тези малки текстови елементи ви позволяват да пишете правила и указания за това как HTTP сървърът трябва да обработва определени видове заявки. Например можете да включите пренаписване на URL адреси, така че конкретен уеб адрес във вашия домейн да зарежда ресурси от друго местоположение. Това често се използва в уебсайтове за социални медии, където „/ потребителско име“ се появява в края на URL адреса.

NGINX не поддържа .htaccess файлове или друга конфигурация на ниво директория. Това прави обработката на заявките по-бърза и по-сигурна, но все пак ограничава контрола, който има системният администратор.

Съвместимост и поддръжка

HTTP сървърите обикновено се стартират на базирани на UNIX операционни системи, особено с отворен код Linux платформи. Това е в името на бързината, тъй като UNIX се счита за най-ефективната налична операционна система. И Apache, и NGINX могат да бъдат инсталирани в популярни Linux дистрибуции като Ubuntu или BSD.

Apache предлага и пълна поддръжка за операционната система Microsoft Windows Server. NGINX може да бъде конфигуриран да работи и в Windows, но обикновено се счита за по-малко стабилен. Ако вашата организация работи изключително с Windows на своите уеб сървъри, Apache ще бъде логичният избор.

Apache има стабилен онлайн портал за документация с бележки за издания, ръководства за справки, ръководства за потребителя и ръководства, които ще ви помогнат да инсталирате Apache във вашата облачна среда и да започнете да го използвате за уеб приложение. NGINX предлага подобен тип хранилище за документация, което обхваща основната конфигурация, както и по-подробно ръководство за разработка.

резюме

Apache и NGINX са много популярни решения за HTTP сървър в съвременния свят на облачните компютри. Повечето от най-добрите хостинг компании в Канада използват Apache и NGINX.

Поставянето на единия в стека ви за разработка е мъдър избор, тъй като те ще осигурят стабилна производителност и надеждност.

Ако скоростта е вашият основен приоритет и уебсайтът ви ще хоства голямо количество статично съдържание, тогава NGINX може да е най-добрият вариант. Той също така се превръща в предпочитан избор сред екипите за разработка, които изграждат микросервизна архитектура с много подсистеми, които си взаимодействат помежду си. От друга страна, малките разработчици или новаците може да са по-добре да се придържат към Apache, тъй като е по-лесно да се настрои и да е предварително конфигуриран със софтуерни стекове на трети страни като LAMP.

Едно нещо, което трябва да имате предвид, е, че не е задължително да избирате между Apache и NGINX и да забравите за другото. Всъщност двете решения много често се използват в тандем, за да осигурят възможно най-доброто уеб хостинг изживяване. С NGINX, създаден като първоначален уеб прокси, заявките могат да бъдат обработвани бързо и изпратени до работник на Apache в края на приложението. Оттам Apache може да се интегрира с PHP или друг скриптов език, за да подготви уеб отговора и да го върне обратно към NGINX слой.

Не забравяйте да направите своите изследвания, когато избирате решение за HTTP сървър. Избраната от вас система ще стане част от основата на вашия уебсайт или приложение и ще бъде от решаващо значение за ежедневния опит на вашите потребители.

Може също да ти хареса:

  • Най-добър уеб хостинг
  • Най-добрият уебсайт

Референции и графични кредити:

  • Nginx.com
  • ESDS.co.in
  • TutorialsPoint.com
  • NTU.edu.sg
Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me

About the author

Adblock
detector