Изтегляния

10-те най-добри уеб сървъра с отворен код за Linux

10-те най-добри уеб сървъра с отворен код за Linux

Вие четете тази статия от уебсайт, задвижван от уеб сървър с отворен код, просто защото уеб сървърите с отворен код захранват над 80% от уебсайтовете и приложенията. Терминът уеб сървър може да се използва взаимозаменяемо, за да се отнася до хардуера или софтуера, използвани за обслужване на съдържание на крайни потребители или клиенти през HTTP.

Уеб сървърите се разработват и непрекъснато се подобряват от началото на 90-те години. Има различни видове уеб сървъри и те могат да бъдат изградени за специфични нужди, за определени технологии или като специални опции за определени корпорации.

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

Уеб сървъри с отворен код за Linux

Уеб сървърът може да се отнася до цялата хардуерна и софтуерна система или конкретно до софтуера, който приема и обслужва HTTP заявките от клиенти.

Като софтуер, уеб сървърът контролира и управлява как хостваните файлове се обслужват на клиенти. Това може да е HTTP сървър, който разбира URL адресите и протоколите HTTP или HTTP / 2.

Като хардуер, уеб сървърът е компютър, който хоства софтуера на уеб сървъра и файловете на компонентите на уебсайта, като HTML страници, CSS таблици със стилове, изображения или JavaScript файлове.

Винаги, когато потребител, като вас, се нуждае от файл или информация, хоствани на уеб сървър, вие ще използвате уеб браузър, за да направите заявката. Заявката се изпраща до съответния уеб сървър (хардуер), където HTTP сървърът приема заявката, намира подходящия файл и го изпраща обратно към клиентския браузър чрез HTTP.

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

1: Apache HTTP уеб сървър

Първоначално издаден през 1995 г., той е най-популярният уеб сървър. Според статистиката за използване на уеб сървъри от w3tech.com, Apache има около 33.9% от уеб приложенията и уебсайтовете в World Wide Web. Той е издаден под лиценз Apache версия 2, който изисква запазване на известията за авторските права и отказ от отговорност, но не изисква модифицираните версии да бъдат разпространявани със същия лиценз. Той работи във всички популярни операционни системи като Linux, Unix-подобен, Windows, Mac OS X, FreeBSD, Solaris, Novell Netware, OS / 2 и т.н.

Apache HTTP е написан на език C и използва модулна архитектура, която е силно адаптивна и може да зареди допълнителни модули, за да разшири своите функции. Те включват mod_proxy, който ще позволи прокси / шлюз на вашия сървър, mod_proxy_balancer ще позволи балансиране на натоварването за всички поддържани протоколи. mod_file_cache за кеширане, mod_ftp за FTP поддръжка за качване и изтегляне, или mod_ssl за SSL / TLS поддръжка на протокол за криптиране.
Други забележителни модули включват прокси модул (mod_proxy), mod_rewrite (модул за пренаписване на URL), mod_include и mod_ext_filter.

Apache разполага и с популярен метод за компресия, включен в модула за външно разширение, mod_gzip. Той е създаден, за да помогне за намаляване на размера на уеб страниците, обслужвани през HTTP. Персонализираните регистрационни файлове (mod_log_config) управляват регистрационните файлове, които могат да бъдат анализирани чрез уеб браузър. Той разполага с ModSecurity за управление на откриването и предотвратяването на проникване за уеб приложения.

Желани характеристики

От версия 2.4, Apache поддържа HTTP / 2 чрез mod_http / 2, което подобрява производителността. Apache се смяташе за малко по-бавен от Nginx (асинхронен, управляван от събития уеб сървър), което доведе до по-голямото приемане на Nginx, но потребителите са свидетели на подобрена производителност след Apache 2.2.

2: Уеб сървър на Apache Tomcat

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

Tomcat е Java сървлет, който се предлага с разширена функционалност за взаимодействие с Java сървлети и изпълнява технически спецификации като JavaServer Pages (JSP) и Java Expression Language (Java EL).

Tomcat е направен от множество компоненти като койот, каталина, яспис, клъстер и др. Catalina е контейнерът за сървлети, докато Coyote е съединителният компонент, който поддържа HTTP 1.1. като уеб сървър. Той позволява на Catalina (Java сървлет или JSP контейнер) да действа като уеб сървър, който обслужва локални файлове като HTTP документи. Jasper е JSP двигател на Tomcat и анализира JSP файлове, за да ги компилира в Java код като сървлети. Клъстерният компонент управлява големи приложения чрез балансиране на натоварването и други техники.

Можете да стартирате Apache Tomcat заедно с Apache HTTP, за да улесните проекти както с Java, така и с PHP. Tomcat също поддържа AWS (Amazon Web Services), което го прави идеален за решения, базирани на облак. Eclipse IDE поддържа Tomcat, което улеснява разработчиците при създаването и внедряването на приложения.

Желани характеристики

Уеб сървърът на Apache Tomcat е по-добър вариант за уеб базирани приложения. Apache Tomcat често е включен сред други сървъри за приложения с отворен код като JBoss, Wildfly и Glassfish.

3: Nginx уеб сървър

Nginx чете „Engine-x“ е с отворен код, високопроизводителен и стабилен уеб сървър. Той може да бъде внедрен като балансиращ товар, обратен прокси сървър, IMAP / POP3 прокси сървър и API шлюз. Игор Сисоев го разработи през 2002 г. като отговор на проблема C10K. Проблемът с C10k е проблем за оптимизиране на мрежови сокети и уеб сървъри за обработка на десет хиляди едновременни връзки и клиенти. Популярността на Nginx нараства с около 33.7% от всички уебсайтове.

Nginx разчита на асинхронна управлявана от събития архитектура за обработка на голям брой едновременни сесии. Той стана популярен сред администраторите поради ниското му използване на ресурси, високата паралелност и мащабируемостта. Той е идеален за хостване на уебсайтове с голям трафик и може да обработи до 500 000 заявки в секунда с ниско използване на процесора.

Nginx може да се използва като самостоятелен уеб сървър или като сървър за статично съдържание пред друг уеб сървър. Освен това можете да внедрите Nginx за обслужване на динамично HTTP съдържание в мрежата, използвайки SCGI манипулатори за скриптове, FastCGI, сървъри за приложения WSGI или модули Phusion Passenger.

Желани характеристики

Nginx има две установени версии, OSS Nginx и Nginx Plus. Nginx Plus предлага допълнителни функции като активни проверки на състоянието, продължителност на сесиите, интеграция на DNS-услуга-откриване, Datalog, приставки Dynatrace New Relic, API за изчистване на кеша, AppDynamic, Active-Active HA със синхронизация на конфигурацията. API на Nginx Plus поддържа хранилища ключ-стойност.

Nginx е проектиран да се конкурира със сървъра Apache за обслужване на статични файлове, използване на по-малко памет и намиране на отговори на проблема c10k. Можем уверено да кажем, че побеждава ръцете на Apache в тази категория. Ето защо е внедрен от популярни уебсайтове с голям трафик като Facebook, LinkedIn и Twitter. Научете повече за проекта от официалната начална страница на Nginx.

4: Възел.js уеб сървър

Възел.js е среда за изпълнение на сървъра, използвана за изграждане на уеб приложения в Javascript. Той се доставя с HTTP модул за разширяване на функционалността му като уеб сървър. Възел.js първоначално е написан през 2009 г. от Райън Дал и в момента е с мощност 1.2% от всички уебсайтове.

Възел.js реализира управлявана от събития архитектура, способна на асинхронни I / O. Той оптимизира производителността и мащабируемостта и можете ефективно да внедрите комуникация в реално време в уеб приложения. Ключова разлика между Node.js и други уеб сървъри е, че е част от стека за уеб разработка, направен от CSS, HTML и JavaScript стек.
Възелът.js проект се управлява от Node.js Foundation и се предлага под комбинация от лицензи. Научете повече от Node.js уебсайт на проекта.

5: Caddy Web сървър

Caddy е бърз и мощен мултиплатформен уеб сървър, обратен прокси, API шлюз и балансиращ товар. Проектът Caddy е проектиран от Матю Холт и написан на езика Go. Това е нова рамка и спечелва силно следване и внимание в рамката с отворен код като алтернатива на Apache Web Server.

Caddy е създаден без зависимости, което го прави преносим и лесен за инсталиране и използване в различни дистрибуции. Caddy поддържа функции като IPv6, Markdown, WebSockets, FastCGI, шаблони и др. Caddy активира HTTPS по подразбиране за сайтове с квалифицирани имена на домейни и пренасочва HTTP заявки към HTTPS. Той получава сертификати по време на стартиране и продължава да ги подновява по време на живота на сървъра.

Интересното е, че има функция „TLS при поискване“, която предлага алтернативен метод за конфигуриране, който позволява на Caddy да получава сертификати само при необходимост по време на ръкостискания на TLS. Предлага се във всички основни дистрибуции като MAC, Windows, Android, Linux, BSD и Solaris.

Желани характеристики

Caddy е чудесен кандидат за потребителя, който търси простота и е щастлив да работи с конфигурации по подразбиране. Това е идеален уеб сървър за стартиране на приложения, написани в GO. Според w3tech, в момента той има 0.1% от всички уебсайтове.

6: Уеб сървър на Eclipse Jetty

Eclipse Jetty е проектиран и изграден като HTTP сървър, HTTP клиент и javax контейнер за сървлети, за да обслужва статично и динамично съдържание като самостоятелен или вграден екземпляр. Уеб сървърът Jetty и други основни компоненти се хостват и поддържат от Eclipse Foundation.
Jetty е лек и силно мащабируем уеб сървър и сървлетен двигател. Jetty е напълно асинхронизиран уеб сървър, който е ориентиран към компоненти и може лесно да се вгради в други приложения. Той поддържа уеб протоколи като HTTP, HTTP / 2 и WebSocket. Тези технологии реализират архитектура с голям обем, ниска латентност и максимална производителност, като същевременно запазват своята простота и съвместимост. Той може да постигне отлични резултати с десетки хиляди едновременни HTTP връзки и WebSocket връзки.

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

Желани характеристики

Eclipse намери приложение в много проекти като Apache ActiveMQ, Google App Engine, Alfresco, Apache Geronimo, Apache Maven, Apache Spark, Eclipse и Twitter's Streaming API. Научете повече тук.

7: Уеб сървър на Lighttpd

Lighttpd или Lighty е безплатен уеб сървър с отворен код, създаден за приложения, критични за скоростта. Той е сигурен, бърз, гъвкав и има минимален отпечатък под 1 MB. Малкият му отпечатък го прави много икономичен с ресурсите на сървъра и използването на процесора. Lighttpd се разпространява под лиценза BSD и е предпочитан заради своята простота, производителност и модули за поддръжка.

Lighttpd е изграден върху асинхронен модел за обработка на заявки, което е от съществено значение при обработката и управлението на голям обем паралелни връзки, което го прави идеална опция за високопроизводителни уеб приложения. Някои може да кажат, че отразява архитектурата в Nginx. Той поддържа FastCGI, CGI и SCGI за свързване на вашия уеб сървър с други програми. Той също така поддържа приложения, написани на други езици като Python, Perl, PHP и Ruby, които са популярни езици за разработка сред разработчиците.

Други разширени функции в Lighty включват; Auth, пренаписване на URL адреси, поддръжка за SSL / TLS, виртуален хостинг и HTTP компресия на изхода чрез модула mod_compress.

Желани характеристики

Lighttpd е уеб-сървър с една нишка, който може лесно да обработва няколкостотин заявки в секунда и е добра опция за потребители, изправени пред предизвикателства в среда с ниска памет и нисък процесор. Lighty работи родно на Linux / Unix системи, но можете да го стартирате и на платформата Microsoft Windows. Моля, научете повече за неговата статистика за използване, лицензиране и поддръжка на началната страница на Lighttpd.

8: OpenLiteSpeed ​​уеб сървър

OpenLiteSpeed ​​е алтернатива с отворен код на изданието LiteSpeed ​​Enterprise Web Server. Той е създаден за простота, сигурност, оптимизация и идва с всички основни функции в изданието Enterprise.

OpenLiteSpeed ​​е проектиран върху управлявана от събития, оптимизирана за ресурси архитектура. Той се предлага с интуитивен WebAdmin GUI за управление на уебсайтове и наблюдение на различни набори от показатели на сървъра. OpenLiteSpeed ​​е оптимизиран за изпълнение на скриптове, проектирани на широк спектър от езици като Perl, Python, Ruby и Java. Той поддържа IPv6 и SSL / TLS.

Желани характеристики

OpenLiteSpeed ​​е гъвкав и можете да го конфигурирате като балансиращ товар или обратен прокси. OpenLiteSpeed ​​е безплатен за изтегляне и е достъпен под лиценза GPLv3. Това е добър вариант за уебсайтове със съдържание на WordPress.

9: H2O уеб сървър

H2O е ново поколение HTTP сървър с отворен код. Той може да се похвали с по-бързо време за реакция с по-малко използване на процесора в сравнение с по-старото поколение уеб сървъри. H2O е проектиран и изграден от нулата, за да създаде пълнофункционални HTTP / 2 реализации.

Потребителите на H2O могат да се възползват от новите HTTP / 2 функции като оптимизация на латентността, push-сървър, приоритетно обслужване на съдържание и push сървър. Тези функции могат да се възползват от съвременната функционалност на браузъра.

Желани характеристики

H20 е написан на езика за програмиране C и може да се използва и като библиотека. H2O се предлага под лиценза на MIT. Научете повече за статистиката за използване на H2O.

10: Уеб сървър на Cherokee

Cherokee е лек, бърз, гъвкав и ефективен уеб сървър с отворен код и платформа. Той е разработен като проект за лично развитие, но е прераснал в приличен уеб сървър, който работи на Linux, BSD, Solaris, MAC и Windows.

Cherokee прави нашия списък поради своята простота. Той се предлага с приятелски уеб-базиран интерфейс и не е нужно да овладявате много конфигурации на командния ред, за да работи и работи.
Той поддържа технологии като FastCGI, CGI, SSI, SCGI, PHP, TLS и SSL криптирани връзки, VirtualHosts, балансиране на натоварването и съвместими с Apache регистрационни файлове.

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

Желани характеристики

Въпреки че не се развива активно, той е добър уеб сървър за прости проекти. Поддържа PHP, Django, Ruby on Rails, ColdFusion, Alfresco, Symfony, GNU Mailman, .NET с Mono, rTorrent и Zend Engine, което ви дава много алтернативи за изграждане на вашия проект.

Научете, опитвайки се

Ако започвате с уеб сървъри, изпробвайте стековете LEMP (Linux, Nginx, MySQL, PHP) или LAMP (Linux, Apache, MySQL, PHP). Можете лесно да инсталирате тези стекове с помощта на прости инсталатори и те също са достъпни във вашия Linux мениджър на пакети. Това ще ви даде широк практически опит за това как работят уеб сървърите.

Включих някои популярни уеб сървъри (Apache, Nginx), по-нови (H2O, Node).js) и разгледахме уеб сървъра Jetty, поддържан от Java технологиите. Списъкът в никакъв случай не е обширен и с повече изследвания можете да откриете други технологии на уеб сървъра, които да изпробвате или използвате за вашия проект.

Урок за битка за Уеснот
Битката за Уеснот е една от най-популярните стратегически игри с отворен код, които можете да играете по това време. Тази игра не само се разработва о...
0 А.д. Урок
От многото стратегически игри, 0 A.д. успява да се открои като изчерпателно заглавие и много дълбока, тактическа игра, въпреки че е с отворен код. Раз...
Урок за Unity3D
Въведение в Unity 3D Unity 3D е мощен двигател за разработка на игри. Това е кръстосана платформа, която ви позволява да създавате игри за мобилни уст...