Como instalar e implantar uma aplicação Python com Nginx Unit no DirectAdmin
Prepare uma aplicação Python WSGI, selecione sua versão e seu ponto de entrada no Nginx Unit e verifique a rota. Requer Terminal/SSH.
O Nginx Unit executa aplicações Python pelo DirectAdmin. Este guia utiliza uma aplicação WSGI simples, sem pacotes adicionais, que permite verificar o procedimento completo antes de implantar um projeto com mais dependências.
O endereço do painel, o nome do servidor, o domínio, o usuário, as versões, os limites e as ferramentas disponíveis podem variar conforme o seu serviço. Utilize os dados do e-mail de ativação da sua hospedagem.
Para abrir o console do painel e se orientar entre as pastas, consulte Como utilizar o terminal incluído no DirectAdmin
1. Verifique o Python e prepare os arquivos
Abra Informações e arquivos → Terminal, conecte o console e execute python3 --version. Depois, verifique as versões do Python oferecidas ao criar a aplicação no Nginx Unit. O interpretador do projeto e o módulo escolhido devem ser compatíveis; ter python3 no Terminal não garante que qualquer versão esteja disponível no Nginx Unit.
Crie uma nova pasta fora de public_html. Substitua tudominio.example pelo domínio real da sua conta:
DOMINIO="tudominio.example"
mkdir "$HOME/domains/$DOMINIO/python-tutorial"
cd "$HOME/domains/$DOMINIO/python-tutorial"No Gerenciador de arquivos, abra essa pasta, crie wsgi.py e salve o seguinte conteúdo:
def application(environ, start_response):
body = 'Aplicacion Python funcionando con Unidad Nginx\n'.encode('utf-8')
start_response('200 OK', [
('Content-Type', 'text/plain; charset=utf-8'),
('Content-Length', str(len(body))),
])
return [body]O arquivo define application, a função WSGI que o Nginx Unit chamará para atender cada solicitação. Este exemplo utiliza apenas a biblioteca padrão do Python.
2. Configure a aplicação no painel
Na página inicial, abra Recursos avançados → Nginx Unit e clique em Criar aplicação.
Nome: pythontutorial. Utilize um nome simples, sem espaços nem hífens.
Tipo: Python.
Versão: selecione a versão disponível que corresponda ao projeto. Nas capturas de tela, é utilizado o Python 3.10; as opções podem variar conforme o serviço.
Caminho: a pasta que contém wsgi.py, por exemplo /domains/TU_DOMINIO/python-tutorial/ no seletor do painel.
Módulo: wsgi, sem adicionar .py.
Chamável: application, exatamente como a função se chama em wsgi.py.
Clique em Criar e aguarde a confirmação. Verifique se pythontutorial aparece na lista com o diretório correto. Ao abrir sua configuração, você poderá revisar Caminho, Módulo e Chamável.

Se o seu projeto exigir pacotes externos, prepare previamente um ambiente virtual com a mesma versão principal e secundária do Python que o módulo do Nginx Unit. Instale nele as dependências do projeto e utilize Início, na configuração da aplicação, para indicar o caminho desse ambiente. O exemplo deste artigo não precisa desse campo. Uma aplicação ASGI exige sua configuração específica; não altere apenas o nome do arquivo para tratá-la como WSGI.
3. Vincule uma rota à aplicação
No Nginx Unit, clique em Criar rota, selecione pythontutorial em Aplicação e revise a aba JSON. Para atender apenas /python-tutorial/, a regra deve relacionar esse prefixo à aplicação:
[
{
"match": {"uri": "/python-tutorial/*"},
"action": {"pass": "applications/tudominio.example_pythontutorial"}
}
]Substitua tudominio.example pelo seu domínio e utilize o identificador de aplicação proposto pelo painel. Preserve as regras existentes; se já houver uma lista, adicione a entrada correspondente sem apagar as demais. Verifique se match.uri limita as solicitações ao prefixo que você deseja utilizar.

Clique em Criar ou Salvar e aguarde até que a configuração web seja aplicada. A rota do domínio deve aparecer em Rotas.
4. Verifique a implantação
Abra o endereço HTTPS do seu domínio terminado em /python-tutorial/. A aplicação deste artigo responde:
Aplicacion Python funcionando con Unidad NginxSe você receber 404, verifique o domínio, a URL e a correspondência da rota. Se houver um erro ao iniciar, verifique a versão do Python, a pasta, o módulo sem extensão, o nome da função e as dependências. Um erro ao salvar exige corrigir primeiro o dado indicado pelo painel.
O Nginx Unit gerencia os processos da aplicação; você pode fechar o Terminal depois de verificar o resultado. Se o módulo Python necessário não estiver disponível, consulte as opções da sua hospedagem com o suporte.
