Transferências

Os 10 melhores servidores da Web de código aberto para Linux

Os 10 melhores servidores da Web de código aberto para Linux

Você está lendo este artigo em um site alimentado por um servidor da web de código aberto simplesmente porque os servidores da web de código aberto controlam 80% dos sites e aplicativos. O termo servidor da web pode ser usado indistintamente para se referir ao hardware ou software usado para servir conteúdo para usuários finais ou clientes através de HTTP.

Os servidores da Web estão em desenvolvimento e aprimoramento constante desde o início dos anos 90. Existem diferentes tipos de servidores web, e eles podem ser construídos para necessidades específicas, para certas tecnologias, ou como opções especiais para certas empresas.

Este artigo listará alguns dos projetos de servidor da web de código aberto populares e confiáveis ​​disponíveis para você instalar e colocar seu aplicativo ou site em execução.

Servidores da Web de código aberto para Linux

Um servidor da web pode se referir a todo o sistema de hardware e software, ou especificamente ao software que aceita e atende às solicitações HTTP de clientes.

Como software, um servidor web controla e gerencia como os arquivos hospedados são servidos aos clientes. Pode ser um servidor HTTP que entende URLs e os protocolos HTTP ou HTTP / 2.

Como hardware, um servidor da web é um computador que hospeda o software do servidor da web e os arquivos de componentes do site, como páginas HTML, folhas de estilo CSS, imagens ou arquivos JavaScript.

Sempre que um usuário, como você, precisar de um arquivo ou informação hospedada em um servidor da web, você usará um navegador da web para fazer a solicitação. A solicitação é enviada ao servidor da web relevante (hardware), onde o servidor HTTP aceita a solicitação, encontra o arquivo apropriado e o envia de volta ao navegador do cliente por meio de HTTP.

Um servidor da web estático enviará arquivos hospedados no estado em que se encontram para o seu navegador.
Um servidor web dinâmico contém um banco de dados e um servidor de aplicativos que atualiza os arquivos hospedados antes de enviá-los ao seu navegador via HTTP.

1: Servidor da Web Apache HTTP

Lançado inicialmente em 1995, é o servidor web mais popular. De acordo com estatísticas de uso de servidores web da w3tech.com, Apache poderes cerca de 33.9% dos aplicativos da web e sites na World Wide Web. É lançado sob a licença Apache versão 2, que requer a preservação dos avisos de direitos autorais e isenções de responsabilidade, mas não requer que as versões modificadas sejam distribuídas usando a mesma licença. Ele roda em todos os sistemas operacionais populares como Linux, semelhante ao Unix, Windows, Mac OS X, FreeBSD, Solaris, Novell Netware, OS / 2, etc.

Apache HTTP é escrito em linguagem C e usa uma arquitetura modular que é altamente personalizável, e pode carregar módulos extras para estender seus recursos. Isso inclui o mod_proxy, que permitirá um proxy / gateway em seu servidor, o mod_proxy_balancer habilitará o balanceamento de carga para todos os protocolos suportados. mod_file_cache para cache, mod_ftp para suporte de FTP para uploads e downloads ou mod_ssl para suporte de protocolo de criptografia SSL / TLS.
Outros módulos notáveis ​​incluem o módulo proxy (mod_proxy), mod_rewrite (módulo de reescrita de URL), mod_include e mod_ext_filter.

O Apache também apresenta um método de compressão popular incluído no módulo de extensão externo, mod_gzip. Ele foi construído para ajudar a reduzir o tamanho das páginas da Web servidas por HTTP. Os arquivos de log personalizados (mod_log_config) gerenciam arquivos de log que podem ser analisados ​​por meio de um navegador da Web. Possui ModSecurity para gerenciar detecção de intrusão e prevenção para aplicativos da Web.

Características desejáveis

A partir da versão 2.4, o Apache oferece suporte a HTTP / 2 por meio do mod_http / 2, o que melhora o desempenho. O Apache foi considerado um pouco mais lento do que o Nginx (servidor web assíncrono orientado a eventos), o que levou ao aumento da adoção do Nginx, mas os usuários testemunharam uma melhora no desempenho desde o Apache 2.2.

2: Servidor da Web Apache Tomcat

Apache Tomcat é um servidor da web de nível empresarial popular disponível no mercado. Ele foi desenvolvido para hospedar soluções Java baseadas na web cujo uso é relativamente frequente e abundante em grandes organizações devido à alta escalabilidade, desempenho e ao número de ferramentas disponíveis para o ecossistema Java. Apache Tomcat é um servidor da web desenvolvido, cuja criação é creditada a James Duncan Davidson da fundação Apache. O Tomcat está em desenvolvimento há mais de 20 anos pela Fundação de software Apache como o servidor da web Apache.

Tomcat é um servlet Java que vem com funcionalidade estendida para interagir com servlets Java e implementa especificações técnicas como JavaServer Pages (JSP) e Java Expression Language (Java EL).

O Tomcat é feito de vários componentes, como Coyote, Catalina, Jasper, Cluster, etc. Catalina é o contêiner de servlet, enquanto Coyote é o componente conector que oferece suporte a HTTP 1.1. como o servidor web. Ele permite que Catalina (servlet Java ou contêiner JSP) atue como um servidor Web que serve arquivos locais como documentos HTTP. Jasper é o mecanismo JSP do Tomcat e analisa arquivos JSP para compilá-los em código Java como servlets. O componente Cluster gerencia grandes aplicativos por meio de balanceamento de carga e outras técnicas.

Você pode executar o Apache Tomcat junto com o Apache HTTP para facilitar projetos com Java e PHP. Tomcat também suporta AWS (Amazon Web Services), tornando-o ideal para soluções baseadas em nuvem. O Eclipse IDE oferece suporte ao Tomcat, tornando mais fácil para os desenvolvedores criar e implantar aplicativos.

Características desejáveis

O servidor da web Apache Tomcat é uma opção melhor para aplicativos Java baseados na web. O Apache Tomcat costuma ser listado entre outros servidores de aplicativos Java de código aberto, como JBoss, Wildfly e Glassfish.

3: servidor da web Nginx

Nginx read 'Engine-x' é um servidor da web de código aberto, alto desempenho e robusto. Ele pode ser implantado como um balanceador de carga, proxy reverso, servidor proxy IMAP / POP3 e gateway de API. Igor Sysoev o desenvolveu em 2002 como uma resposta ao problema do C10K. O problema C10k é um problema de otimização de sockets de rede e servidores web para lidar com dez mil conexões simultâneas e clientes. A popularidade do Nginx cresceu em aproximadamente 33.7% de todos os sites.

O Nginx depende de uma arquitetura assíncrona orientada a eventos para lidar com um grande número de sessões simultâneas. Tornou-se popular entre os administradores devido à sua baixa utilização de recursos, alta simultaneidade e escalabilidade. É ideal para hospedar sites de alto tráfego e pode lidar com até 500.000 solicitações por segundo com baixa utilização da CPU.

O Nginx pode ser usado como um servidor da Web autônomo ou como um servidor de conteúdo estático na frente de outro servidor da Web. Além disso, você pode implantar o Nginx para servir conteúdo HTTP dinâmico na rede usando manipuladores SCGI para scripts, FastCGI, servidores de aplicativos WSGI ou módulos Phusion Passenger.

Características desejáveis

Nginx tem duas versões estabelecidas, OSS Nginx e Nginx Plus. Nginx Plus oferece recursos adicionais, como verificações de integridade ativa, persistência de sessões, integração de descoberta de serviço DNS, Datalog, plug-ins Dynatrace New Relic, API de limpeza de cache, AppDynamic, HA Active-Active com sincronização de configuração. A API Nginx Plus oferece suporte a armazenamentos de valores-chave.

Nginx foi projetado para competir com o servidor Apache para servir arquivos estáticos, usar menos memória e encontrar respostas para o problema c10k. Podemos dizer com segurança que vence o Apache nesta categoria. É por isso que foi implantado por sites populares de alto tráfego como Facebook, LinkedIn e Twitter. Saiba mais sobre o projeto na página oficial do Nginx.

4: Nó.js Webserver

Nó.js é um ambiente de execução do lado do servidor usado para construir aplicativos da web em Javascript. É empacotado com um módulo HTTP para estender sua funcionalidade como um servidor web. Nó.js foi inicialmente escrito em 2009 por Ryan Dahl e atualmente tem poderes 1.2% de todos os sites.

Nó.js implementa uma arquitetura orientada a eventos capaz de I / O assíncrona. Ele otimiza o rendimento e a escalabilidade, e você pode implementar com eficácia a comunicação em tempo real em aplicativos da web. Uma diferença fundamental entre o Node.js e outros servidores da web é que faz parte de uma pilha de desenvolvimento da web feita de CSS, HTML e pilha de JavaScript.
O nó.O projeto js é governado pelo Nó.Fundação js e está disponível sob uma combinação de licenças. Saiba mais no Node.site do projeto js.

5: Caddy Webserver

Caddy é um servidor da web multiplataforma rápido e poderoso, proxy reverso, gateway de API e balanceador de carga. O projeto Caddy foi desenhado por Mathew Holt e escrito na linguagem Go. É uma nova estrutura e está ganhando fortemente seguidores e atenção na estrutura de código aberto como uma alternativa ao Apache Web Server.

O Caddy é construído sem dependências, o que o torna portátil e fácil de instalar e usar em várias distribuições. Caddy oferece suporte a recursos como IPv6, Markdown, WebSockets, FastCGI, modelos, etc. Caddy ativa HTTPS por padrão para sites com nomes de domínio qualificados e redireciona solicitações HTTP para HTTPS. Ele obtém certificados durante a inicialização e continua renovando-os durante a vida útil do servidor.

Curiosamente, ele tem um recurso 'TLS sob demanda', que oferece um método de configuração alternativo que permite à Caddy obter certificados apenas quando necessário durante os apertos de mão TLS. Ele está disponível em todas as principais distribuições, como MAC, Windows, Android, Linux, BSD e Solaris.

Características desejáveis

A Caddy é uma ótima candidata para o usuário que busca simplicidade e fica feliz em trabalhar com configurações padrão. É um servidor web ideal para executar aplicativos escritos em GO. De acordo com a w3tech, atualmente dá potência a 0.1% de todos os sites.

6: Eclipse Jetty Webserver

Eclipse Jetty é projetado e construído como um servidor HTTP, cliente HTTP e contêiner de servlet javax para servir conteúdo estático e dinâmico como uma instância independente ou incorporada. O servidor Jetty Web e outros componentes principais são hospedados e mantidos pela Eclipse Foundation.
Jetty é um servidor da Web leve e altamente escalonável e um mecanismo de servlet. Jetty é um servidor da Web totalmente assíncrono que é orientado a componentes e pode ser facilmente incorporado em outros aplicativos. Suporta protocolos da Web como HTTP, HTTP / 2 e WebSocket. Essas tecnologias implementam uma arquitetura de alto volume, baixa latência e desempenho máximo, mantendo sua simplicidade e compatibilidade. Pode alcançar excelentes resultados com dezenas de milhares de conexões HTTP e conexões WebSocket simultâneas.

O Jetty ocupa um pequeno espaço que permite aos desenvolvedores da web implantar e configurar com eficiência o Jetty em qualquer ambiente sem se preocupar com sobrecarga indesejada ou uso de memória. Com uma pequena pegada de memória, você pode executar mais instâncias de servidor em hardware virtual, tornando-o uma boa opção em implantações de nuvem e infraestrutura.

Características desejáveis

O Eclipse encontrou adoção em muitos projetos, como Apache ActiveMQ, Google App Engine, Alfresco, Apache Geronimo, Apache Maven, Apache Spark, Eclipse e API de streaming do Twitter. Saiba mais aqui.

7: servidor da Web Lighttpd

Lighttpd ou Lighty é um servidor da web gratuito e de código aberto desenvolvido para aplicativos de velocidade crítica. É seguro, rápido, flexível e ocupa um espaço mínimo de menos de 1 MB. Seu tamanho reduzido o torna muito econômico com os recursos do servidor e a utilização da CPU. Lighttpd é distribuído sob a licença BSD e é preferido por sua simplicidade, desempenho e módulos de suporte.

Lighttpd é construído em um modelo de tratamento de solicitação assíncrona, que é essencial para lidar e gerenciar um grande volume de conexões paralelas, tornando-o uma opção ideal para aplicativos da web de alto desempenho. Alguns podem dizer que reflete a arquitetura do Nginx. Ele suporta FastCGI, CGI e SCGI para fazer a interface do seu servidor web com outros programas. Ele também oferece suporte a aplicativos escritos em outras linguagens, como Python, Perl, PHP e Ruby, que são linguagens de desenvolvimento populares entre os desenvolvedores.

Outros recursos avançados do Lighty incluem; Auth, reescrita de URL, suporte para SSL / TLS, hospedagem virtual e compressão de saída HTTP por meio do módulo mod_compress.

Características Desejáveis

Lighttpd é um servidor web de thread único que pode lidar facilmente com algumas centenas de solicitações por segundo e é uma boa opção para usuários que enfrentam desafios em ambientes com pouca memória e pouca CPU. Lighty é executado nativamente em sistemas Linux / Unix, mas você também pode executá-lo na plataforma Microsoft Windows. Saiba mais sobre sua estatística de uso, licenciamento e suporte na página inicial do Lighttpd.

8: Servidor da Web OpenLiteSpeed

OpenLiteSpeed ​​é uma alternativa de código aberto à edição do servidor da Web LiteSpeed ​​Enterprise. Ele é construído para simplicidade, segurança, otimização e vem com todos os recursos essenciais da edição Enterprise.

OpenLiteSpeed ​​é projetado em uma arquitetura orientada a eventos e otimizada de recursos. Ele vem com uma GUI WebAdmin intuitiva para gerenciar sites e monitorar diferentes conjuntos de métricas de servidor. OpenLiteSpeed ​​é otimizado para executar scripts projetados em uma ampla variedade de linguagens como Perl, Python, Ruby e Java. Suporta IPv6 e SSL / TLS.

Características desejáveis

OpenLiteSpeed ​​é versátil e você pode configurá-lo como um balanceador de carga ou proxy reverso. OpenLiteSpeed ​​é gratuito para download e está disponível sob a licença GPLv3. É uma boa opção para sites de conteúdo baseados em WordPress.

9: H2O Web Server

H2O é um servidor HTTP de código aberto de nova geração. Possui tempos de resposta mais rápidos com menos utilização da CPU em comparação com servidores da web de geração mais antiga. H2O é projetado e construído desde o início para criar implementações HTTP / 2 com todos os recursos.

Os usuários do H2O podem tirar proveito dos novos recursos HTTP / 2, como otimização de latência, push de servidor, serviço de conteúdo priorizado e push de servidor. Esses recursos podem aproveitar a funcionalidade do navegador moderno.

Características desejáveis

H20 é escrito na linguagem de programação C e também pode ser usado como uma biblioteca. H2O está disponível sob a licença do MIT. Saiba mais sobre estatísticas de uso de H2O.

10: Cherokee Web Server

O Cherokee é um servidor da Web de plataforma cruzada leve, rápido, flexível e de alto desempenho. Foi desenvolvido como um projeto de desenvolvimento pessoal, mas se tornou um servidor web decente que roda em Linux, BSD, Solaris, MAC e Windows.

Cherokee está em nossa lista por causa de sua simplicidade. Ele vem com uma interface amigável baseada na web e você não precisa dominar muitas configurações de linha de comando para fazê-lo funcionar e funcionar.
Ele suporta tecnologias como FastCGI, CGI, SSI, SCGI, PHP, TLS e conexões criptografadas SSL, VirtualHosts, balanceamento de carga e arquivos de log compatíveis com Apache.

Cherokee pode lidar com conexões simultâneas com pouca memória e melhora o desempenho do hardware. Ele tem uma arquitetura modular que pode ser modificada e estendida por meio de um assistente de administração para executar tarefas específicas, estender aplicativos e executar estruturas.

Características desejáveis

Apesar de não ter sido desenvolvido ativamente, é um bom servidor web para projetos simples. Suporta PHP, Django, Ruby on Rails, ColdFusion, Alfresco, Symfony, GNU Mailman, .NET com Mono, rTorrent e Zend Engine, que oferece muitas alternativas para construir seu projeto.

Aprenda tentando

Se você está começando em servidores web, experimente as pilhas LEMP (Linux, Nginx, MySQL, PHP) ou LAMP (Linux, Apache, MySQL, PHP). Você pode instalar facilmente essas pilhas usando instaladores simples e também estão disponíveis em seu gerenciador de pacotes Linux. Isso lhe dará uma ampla experiência prática sobre como os servidores da web funcionam.

Incluí alguns servidores web populares (Apache, Nginx), mais recentes (H2O, Node.js) e olhou para o servidor da web Jetty compatível com tecnologias Java. A lista não é extensa e, com mais pesquisas, você pode descobrir outras tecnologias de servidor da web para experimentar ou usar em seu projeto.

Como alterar o ponteiro do mouse e tamanho do cursor, cor e esquema no Windows 10
O ponteiro do mouse e o cursor no Windows 10 são aspectos muito importantes do sistema operacional. Isso também pode ser dito para outros sistemas ope...
Mecanismos de jogos gratuitos e de código aberto para o desenvolvimento de jogos Linux
Este artigo cobrirá uma lista de mecanismos de jogo gratuitos e de código aberto que podem ser usados ​​para desenvolver jogos 2D e 3D no Linux. Exist...
Tutorial de Shadow of the Tomb Raider para Linux
Shadow of the Tomb Raider é a décima segunda adição à série Tomb Raider - uma franquia de jogos de ação e aventura criada pela Eidos Montreal. O jogo ...