O que é o Apache HTTP Server? (Vantagens e desvantagens)

O que é o Apache HTTP Server?

O Apache HTTP Server √© um servidor Web de c√≥digo aberto, tamb√©m conhecido como “httpd” e Apache.

Aqui est√£o alguns fatos interessantes sobre o Apache:

  • A Apache Software Foundation gerencia a marca e seus servi√ßos.
  • O servidor √© desenvolvido e mantido por uma comunidade aberta de desenvolvedores no ASF.
  • Normalmente executando no Linux, o Apache √© executado em cerca de 46% de todos os sites do mundo.
  • √Č o elemento chave da pilha LAMP (Linux, Apache, MySQL, PHP).
  • Apache

    Arquitetura b√°sica

    O Apache segue uma abordagem de v√°rios threads. Ele fornece uma variedade de v√°rias unidades de processamento. Essas pr√©-se√ß√Ķes s√£o basicamente tr√™s tipos de algoritmos de manipula√ß√£o de solicita√ß√Ķes. Todo mundo est√° destinado a diferentes necessidades do servidor.

    Os MPMs (Multi-Processing Modules) fornecem uma arquitetura flex√≠vel para selecionar diferentes conex√Ķes e diferentes algoritmos de manipula√ß√£o.

    Al√©m disso, vers√Ķes diferentes do Apache 2 usam se√ß√Ķes de edi√ß√£o diferentes.

    Os três principais MPMs do Apache são:

    O Apache da velha escola (2.2) usa mpm_worker, mpm_prefork e mod_php. Enquanto o Apache 2.4 est√° configurado para usar mpm_event, php-fpm.

    Por padr√£o, o Apache 2.2 est√° definido no modo Pr√©-bifurca√ß√£o (mpm_prefork). Ele responde a um n√ļmero definido de processos, cada um dos quais pode atender a uma √ļnica solicita√ß√£o por vez.

    Em outras palavras, o Apache cria um novo thread a cada vez para lidar com cada solicitação de conexão.

    No entanto, a arquitetura b√°sica do Apache pode levar ao alto consumo de recursos, o que pode causar problemas com o servidor (por exemplo, baixa velocidade).

    atuação

    2.1 Conte√ļdo est√°tico

    Conte√ļdo ou arquivos est√°ticos s√£o arquivos padr√£o armazenados em um disco no servidor do computador, por exemplo, arquivos CSS, arquivos ou imagens JavaScript. O Apache lida com conte√ļdo est√°tico usando o m√©todo convencional baseado em arquivo.

    2.2 Conte√ļdo din√Ęmico

    O Apache pode processar conte√ļdo din√Ęmico dentro da pr√≥pria Web, sem precisar confiar em elementos externos. Para que ele possa lidar com suas pr√≥prias cren√ßas.

    Suporte de SO

    O Apache funciona em todos os tipos de sistemas semelhantes ao Unix (por exemplo, Linux ou BSD) e é totalmente suportado pelo Microsoft Windows.

    Configuração distribuída / central

    Essa arquitetura permite que usuários sem privilégios controlem certos aspectos do site sem permitir a edição do diretório principal. Isso é ótimo!

    Unidades de operação

    O servidor Apache possui um rico conjunto de fun√ß√Ķes que podem ser ativadas instalando uma das 60 unidades oficiais. Existem tamb√©m muitas outras se√ß√Ķes informais que podem ser facilmente encontradas na internet.

    O sistema de unidades permite carregar ou descarregar unidades dinamicamente para atender √†s suas necessidades. Seus m√≥dulos podem ser ativados ou desativados para adicionar ou remover fun√ß√Ķes e conectar-se ao servidor principal.

    Em resumo, o Apache possui muitos m√≥dulos para atender √†s suas necessidades, mas muitos deles n√£o s√£o usados ‚Äč‚Äčcom frequ√™ncia.

    Flexibilidade e adaptabilidade

    As adapta√ß√Ķes no servidor da web podem ser feitas atrav√©s de m√≥dulos. O Apache tinha o m√≥dulo din√Ęmico para carregar por mais tempo, portanto todos os m√≥dulos do Apache o suportam.

    Segurança

    O Apache garante que todo o site em execução no servidor esteja a salvo de danos e hackers.

    Dessa maneira, oferece dicas de configuração para lidar com ataques DDoS, bem como a unidade mod_evasive para responder a HTTP DoS, DDoS ou ataques violentos.

    Apoio, suporte

    O suporte comercial do Apache está disponível em muitas empresas de terceiros, como o OpenLogic, mas nenhuma lista oficial é mantida pela Apache Foundation. O servidor Apache destina-se a fornecer excelente suporte a todos os seus usuários.

    Final para viagem

    1. i) Apache .htaccess

    O NGINX não suporta nada como o arquivo .htaccess do Apache. No entanto, com o Apache, você tem a vantagem de fornecer aos usuários não privilegiados o controle sobre certos aspectos importantes do site.

  • Obviamente, os usu√°rios n√£o t√™m permiss√£o para editar a configura√ß√£o principal.
  • Usando arquivos .htaccess, voc√™ pode substituir as configura√ß√Ķes em todo o sistema por diret√≥rio.
  • Para um desempenho ideal, inclua estas instru√ß√Ķes .htaccess no arquivo de configura√ß√£o principal.
  • Em um ambiente de hospedagem compartilhada, o Apache funciona melhor devido √† configura√ß√£o .htaccess.
    1. ii) Em caso de limita√ß√Ķes operacionais – use Apache

    O Nginx possui algumas se√ß√Ķes importantes que s√£o muito importantes. No entanto, existem algumas limita√ß√Ķes na funcionalidade do Nginx.

    No caso de algumas restri√ß√Ķes ou voc√™ precisa usar unidades adicionais que n√£o s√£o suportadas pelo Nginx, conv√©m selecionar o Apache.