Integração de Python com Apache via mod_wsgi
Pontos principais
- O mod_wsgi é um módulo do Apache HTTP Server que implementa a interface WSGI para aplicações Python.
- Foi criado por Graham Dumpleton e está disponível desde 2007.
- Suporta Python 2 (desde 2.6) e Python 3 (desde 3.2).
- Oferece a ferramenta mod_wsgi-express para facilitar a instalação via pip.
O mod_wsgi é um módulo desenvolvido para o servidor HTTP Apache, criado por Graham Dumpleton, que implementa uma interface compatível com o padrão Web Server Gateway Interface (WSGI). Sua função principal é permitir que aplicações web desenvolvidas em Python sejam hospedadas e executadas sob a infraestrutura do Apache.
Funcionalidade e Compatibilidade
O módulo atua como uma ponte entre o servidor web Apache e as aplicações Python, garantindo que as requisições HTTP sejam processadas corretamente pelo código Python. Em termos de compatibilidade, versões recentes do mod_wsgi (como a 4.5.3) oferecem suporte tanto para Python 2 quanto para Python 3, especificamente a partir das versões 2.6 e 3.2, respectivamente.
Alternativas de Integração
O mod_wsgi surgiu como uma alternativa mais eficiente e padronizada a outras soluções de integração de Python com servidores web, tais como:
- mod_python: Um módulo anterior que permitia a execução de Python dentro do Apache, mas que não seguia o padrão WSGI.
- CGI (Common Gateway Interface): Uma interface antiga e menos performática, que inicia um novo processo para cada requisição.
- FastCGI: Uma evolução do CGI que mantém processos persistentes, mas que ainda requer a configuração de um servidor externo para a aplicação Python.
Métodos de Instalação
Desde o seu lançamento inicial em 2007, o mod_wsgi evoluiu em suas formas de implantação. Atualmente, existem dois caminhos principais para a instalação:
Módulo do Apache
Este é o método tradicional, onde o mod_wsgi é instalado como um módulo nativo do servidor Apache. Este processo geralmente requer privilégios de administrador (root) e intervenção direta nos arquivos de configuração do servidor para carregar o módulo e definir as regras de roteamento da aplicação.
mod_wsgi-express
Introduzido a partir da versão 4, o método mod_wsgi-express permite que a ferramenta seja instalada como um módulo Python via pip ou setup.py. Esta abordagem simplifica significativamente o processo para desenvolvedores que possuem maior familiaridade com o ecossistema Python do que com a administração de servidores Apache. Além disso, este método oferece vantagens de virtualização, permitindo a criação de ambientes locais sem a necessidade de alterar configurações globais do sistema ou exigir acesso de superusuário para a instalação.
Perguntas frequentes
O que é o mod_wsgi?
É um módulo para o servidor Apache que permite a hospedagem de aplicações web em Python seguindo o padrão WSGI.
Qual a diferença entre mod_wsgi e mod_python?
O mod_wsgi segue o padrão WSGI, tornando as aplicações mais portáveis e compatíveis com diversos servidores, enquanto o mod_python era uma solução proprietária do módulo.
É possível instalar o mod_wsgi sem acesso root?
Sim, através do método mod_wsgi-express, que permite a instalação como um módulo Python via pip, facilitando a criação de ambientes virtuais.