Login
Login

Fazer deploy de um app Django

Atualizado em 30 de May de 2025

Você pode encontrar o guia passo a passo para fazer deploy aqui.

Build da aplicação

A Hostman utiliza o seguinte ambiente ao fazer o build de um app Django:

  • Python: 3.10, 3.11, 3.12, 3.13 ou 3.14
  • pip
  • gunicorn
  • Bibliotecas do sistema para trabalhar com PostgreSQL e MySQL

A Hostman executa os seguintes comandos durante o build:

apt-get install -y python3 python3-pip gunicorn python3-psycopg2 libpq-dev python-dev default-mysql-client python3-dev default-libmysqlclient-dev python3-mysqldb --fix-missing
pip3 install psycopg2 
ln /usr/bin/python3 /usr/bin/python -sf
ln /usr/bin/pip3 /usr/bin/pip -sf

Para instalar dependências, adicione a seguinte linha ao comando de build:

pip3 install --upgrade -r requirements.txt

Variáveis de ambiente

Você também pode definir variáveis de ambiente.

Por exemplo, para especificar os hosts dos quais o Django pode receber requisições, defina a variável DJANGO_ALLOWED_HOSTS com um valor contendo endereços IP ou nomes de host.

Você pode informar vários hosts, separados por vírgulas, sem espaços. Por padrão, essa variável é definida como:

127.0.0.1,localhost

Para mais detalhes sobre configuração, consulte a documentação oficial do Django.

Rodando a aplicação

O comando de start padrão é:

python3 manage.py runserver 0.0.0.0:8000

Requisitos

  • Certifique-se de que o arquivo manage.py está localizado na raiz do projeto e é usado como ponto de entrada da aplicação.
  • Certifique-se de definir DEBUG=True nas configurações; caso contrário, os arquivos estáticos não serão servidos.
  • Certifique-se de que a aplicação está escutando em 0.0.0.0 e não em 127.0.0.1; caso contrário, conexões externas não funcionarão.

Troubleshooting

Deploy falhou

Se houver problemas no deploy, primeiro confira o log de deploy. Ele ajuda a identificar em qual etapa ocorreu o erro.

Na maioria dos casos, os problemas estão relacionados ao comando de start.

  • Certifique-se de que tudo funciona localmente com gunicorn.
  • Verifique se todos os módulos necessários estão listados no requirements.txt.

DisallowedHost at /Invalid HTTP_HOST

Esse problema ocorre quando o hostname não está especificado no arquivo settings.py.

Essa configuração é uma medida de segurança para evitar ataques via header HTTP Host.

Para corrigir o problema, faça alterações no arquivo settings.py, especificando seu domínio na diretiva ALLOWED_HOSTS, por exemplo:

ALLOWED_HOSTS = ["your.domain.com"]

Você também pode permitir todos os domínios, caso não queira usar essa medida de segurança:

ALLOWED_HOSTS = ["*"]
Esta página foi útil?
Atualizado em 30 de May de 2025

Tem perguntas,
comentários ou preocupações?

Nossos profissionais estão disponíveis para ajudá-lo a qualquer momento,
seja para assistência ou apenas se você não souber por onde começar.
Envie-nos um e-mail
Hostman's Support