Executando Python 3 no Apache através do WSGI
Você pensou em utilizar o Python através do Apache? Bem, é perfeitamente possível fazer isso! Basta instalarmos um módulo chamado mod_wsgi
e tudo pronto!
Nesse tutorial, vamos aprender como instalar e configurar o mod_wsgi
para executar o Python 3 no Apache 2 a partir do WSGI.
Mas o que seria WSGI e MOD_WSGI?
O que é WSGI?
Resumidamente, o WSGI é uma sigla para Web Server Gateway Interface. Trata-se de uma especificação para uma interface simples e universal entre servidores web e aplicações web ou frameworks para a linguagem de programação Python.
Fonte: Wikipédia.
E o que é MOD_WSGI?
O mod_wsgi
é um módulo que fornece uma interface compatível com WSGI para hospedar aplicativos da Web baseados em Python no Apache.
Fonte: Wikipédia
{% include ads_article.html %}
Instalando o WSGI no Apache 2
Como dito, para executar um script Python no Apache, é necessário instalar e configurar o módulo mod_wsgi
.
Instale o módulo WSGI no Apache, através do seguinte comando:
sudo apt install libapache2-mod-wsgi-py3
Após a instalação, habilite o módulo WSGI no Apache:
sudo a2enmod wsgi
E reinicie o Apache:
sudo service apache2 restart
Feito isso, podemos seguir com as configurações...
Configurando o WSGI no Apache
Agora, vamos criar um Virtual Host para executarmos um script Python através do Apache.
Vá até a pasta /etc/apache2/sites-avaliable
e crie um arquivo wsgi.conf
.
Você pode fazer assim:
sudo nano /etc/apache2/sites-avaliable/wsgi.conf
Em seguida, cole o seguinte conteúdo:
<VirtualHost *:80>
ServerName localhost
WSGIScriptAlias /python /var/www/python/
DirectoryIndex index.py
</VirtualHost>
Habilite o virtual host criado através do seguinte comando:
sudo a2ensite wsgi.conf
Agora, precisamos recarregar o Apache com as novas configurações;
sudo service apache2 reload
Executando um script Python com WSGI
Agora, crie a pasta /var/www/python
. Em seguida, crie um arquivo chamado index.py
, pois definimos que o DirectoryIndex
do Apache será esse arquivo.
Exemplo:
mkdir /var/www/python
touch /var/www/python/index.py
Agora, adicione o seguinte conteúdo ao seu arquivo index.py
def application(environ, start_response):
status = '200 OK'
html = "Olá, WSGI"
headers = [('Content-type', 'text/html; charset=utf-8')]
start_response(status, headers)
return [bytes(html, 'utf-8')]
Pronto! Agora, basta acessar o caminho http://localhost/python
para ver o seu script .py
rodar com o WSGI.