Django Installation · 10 min read · Oct 19, 2025

Guia para Instalar o Framework Web Django no Debian 12

Django é um framework web Python gratuito e de código aberto usado para desenvolver sites e aplicações dinâmicas. É utilizado para o desenvolvimento de aplicações Python complexas e baseadas em banco de dados.

Django segue a arquitetura MVC (Model-View-Controller), que permite que os desenvolvedores escrevam menos código e criem um novo site em pouco tempo. Django pode ser instalado em qualquer sistema operacional que execute Python, incluindo Windows, macOS, Linux/Unix e Solaris.

Este guia mostrará como instalar o framework web Django em um servidor Debian 12. Você começará com Django criando seu primeiro projeto Django usando PostgreSQL como o banco de dados padrão, o servidor WSGI Gunicorn e o Nginx como um proxy reverso.

Pré-requisitos

Para começar, certifique-se de ter o seguinte:

  • Uma máquina Debian 12.
  • Um usuário não-root com privilégios de administrador sudo.

Instalando Dependências

No primeiro passo, você instalará as dependências de pacote para a instalação do seu framework web Django, isso inclui os seguintes pacotes:

  • Servidor PostgreSQL: Por padrão, o Django usa SQLite, e este exemplo mostrará como usar o PostgreSQL como o banco de dados para seu projeto Django.
  • Supervisor: É um gerenciador de processos, e você executará sua aplicação Django com Gunicorn e Supervisor.
  • Servidor web Nginx: Este exemplo mostrará como usar o Nginx como um proxy reverso para seu projeto Django. Isso permite que seu projeto Django seja acessível via um nome de domínio local.

Primeiro, execute o comando apt abaixo para atualizar e refrescar seu índice de pacotes.

sudo apt update

Agora instale as dependências de pacote, como ambiente virtual Python, gerenciador de pacotes pip, PostgreSQL e driver libpq5, Nginx e Supervisor.

sudo apt install build-essential python3-dev python3-pip python3-venv nginx supervisor postgresql libpq5 libpq-dev

Digite y para confirmar e prosseguir com a instalação.

instalando dependências

Uma vez que as dependências estejam instaladas, execute os seguintes comandos para verificar os serviços do PostgreSQL, Nginx e Supervisor e garantir que esses serviços estejam em execução e habilitados.

Verifique o serviço PostgreSQL usando o comando abaixo.

sudo systemctl is-enabled postgresql  
sudo systemctl status postgresql

Se o PostgreSQL estiver em execução e habilitado, abaixo da saída você deve obter.

verificando postgresql

Verifique o serviço Nginx usando o comando abaixo.

sudo systemctl is-enabled nginx  
sudo systemctl status nginx

Se o Nginx estiver em execução e habilitado, abaixo está a saída que você deve obter.

verificando nginx

Por último, verifique o Supervisor usando o comando abaixo.

sudo systemctl is-enabled supervisor  
sudo systemctl status supervisor

Você deve ver que o Supervisor está em execução e habilitado.

verificando supervisor

Instalando Django via Pip

O framework web Django pode ser instalado de diferentes maneiras, incluindo manualmente via Git, via gerenciador de pacotes Pip Python, ou combinado com um ambiente isolado com o módulo venv e Pip. Neste exemplo, você instalará o Django via gerenciador de pacotes Pip no ambiente Python isolado.

Faça login no seu usuário via o comando abaixo.

su - username

Agora crie um novo diretório de projeto ~/testdjango e mude para ele.

mkdir -p ~/testdjango; cd ~/testdjango

Em seguida, execute o seguinte comando para criar um novo ambiente virtual Python chamado venv no seu diretório de projeto atual.

python3 -m venv venv

Então ative-o usando o comando abaixo. Uma vez que o ambiente virtual esteja ativado, seu prompt atual se tornará como (venv) bob@hostname:

source venv/bin/activate

criando ambiente virtual venv

Dentro do ambiente virtual venv, execute o comando pip abaixo para instalar o framework web Django. Isso instalará o Django sob seu ambiente virtual Python, não globalmente.

pip install django  
  
or  
pip install django==4.2.4

Abaixo a instalação do Django está em execução.

instalando django

Verifique sua versão do Django uma vez que a instalação esteja concluída usando o comando django-admin abaixo.

django-admin --version

A seguinte saída confirma que o Django 4.2.4 está instalado dentro do ambiente virtual venv via gerenciador de pacotes Pip Python.

Criando o Primeiro Projeto Django

Esta seção ensinará como criar o primeiro projeto Django e usar o servidor PostgreSQL como seu banco de dados padrão. Para conseguir isso, complete os seguintes passos:

  • Preparar banco de dados e usuário.
  • Criar Projeto Django via django-admin.
  • Migrar banco de dados e gerar arquivos estáticos.
  • Criar usuários administrativos e executar Django.

Preparar Banco de Dados e Usuário

Execute o comando pip abaixo para instalar o pacote Python psycopg2 no seu ambiente virtual. Este é o driver Python que será usado pelo Django para conectar-se ao servidor de banco de dados PostgreSQL.

pip install psycopg2  
exit

instalando psycopg2

Agora execute o seguinte comando para fazer login no shell do PostgreSQL.

sudo -u postgres psql

Execute as seguintes consultas para criar um novo banco de dados e usuário para seu projeto Django. O seguinte exemplo criará um novo banco de dados djangodb, usuário django, e a senha p4ssw0rd.

CREATE USER django WITH PASSWORD 'p4ssw0rd';  
CREATE DATABASE djangodb OWNER django;

criar banco de dados e usuário

Em seguida, execute as seguintes consultas para verificar a lista de banco de dados e usuário no seu servidor PostgreSQL.


du  

l

Você deve ver que o banco de dados djangodb e o usuário django foram criados.

verificando banco de dados e usuário

Digite quit para sair do servidor PostgreSQL.

Criando Projeto Django

Antes de criar o projeto Django, faça login no seu usuário e ative o ambiente virtual venv.

su - bob  
cd testdjango; source venv/bin/activate

Para criar um novo projeto Django, execute o comando django-admin abaixo. Neste caso, você criará um novo projeto testapp no seu diretório de trabalho atual.

django-admin startproject testapp .

Uma vez que o projeto é criado, o novo diretório testapp será criado no seu diretório de trabalho.

criar projeto django

Em seguida, execute o seguinte comando para gerar um segredo aleatório para seu projeto Django. Certifique-se de copiar a saída, pois você a usará para proteger sua instalação do Django.

python3 -c 'from django.core.management.utils import get_random_secret_key; print(get_random_secret_key())'

Agora use seu editor preferido e abra o arquivo testapp/settings.py.

nano testapp/settings.py

No topo da linha, insira a seguinte configuração.

import os

Insira sua chave secreta no parâmetro SECRET_KEY.

SECRET_KEY = 'fzahzbm*wrxoleqb0^-3%%tf^y!b6lsc5-c#2^@#s6gkyrl2ef'

Digite seu endereço IP local e nome de domínio local no parâmetro ALLOWED_HOSTS.

ALLOWED_HOSTS = ['127.0.0.1','192.168.10.15','first-django.dev']

Altere a configuração do banco de dados padrão com os detalhes do servidor PostgreSQL assim:

DATABASES = {  
    'default': {  
        'ENGINE': 'django.db.backends.postgresql_psycopg2',  
        'NAME': 'djangodb',  
        'USER': 'django',  
        'PASSWORD': 'p4ssw0rd',  
        'HOST': '127.0.0.1',  
        'PORT': '5432',  
    }  
}

Por último, adicione o parâmetro STATIC_ROOT para definir um diretório para armazenar arquivos estáticos.

STATIC_ROOT = os.path.join(BASE_DIR, "static/")

Salve o arquivo e saia do editor quando terminar.

Migrando Banco de Dados e Gerando Arquivos Estáticos

Antes de migrar o banco de dados, execute o seguinte comando para garantir que você tenha a configuração de banco de dados correta.

python3 manage.py check --database default

Se não houver erro, execute o seguinte comando para migrar o banco de dados.

python3 manage.py makemigrations  
python3 manage.py migrate

Se tudo correr bem, você deve ver o processo de migração do banco de dados assim:

migrando banco de dados

Por último, execute o seguinte comando para gerar arquivos estáticos para seu projeto Django. Após a execução do comando, o novo diretório static será criado e os arquivos estáticos serão gerados nele.

python3 manage.py collectstatic

Abaixo está a saída ao gerar arquivos estáticos.

Criando Usuário Administrador e Executando Django

Execute o seguinte comando para criar o usuário administrador para seu projeto Django.

python3 manage.py createsuperuser

Digite seu endereço de e-mail e senha quando solicitado.

criar super usuário

Uma vez que o usuário administrador é criado, execute o comando abaixo para executar seu projeto Django.

python3 manage.py runserver 0.0.0.0:8080

Após a execução do comando, seu projeto Django será executado no seu endereço IP local na porta 8080.

executando projeto django

Agora abra seu navegador e visite o endereço IP do servidor seguido pela porta 8080, http://192.168.10.15:8080/. Se sua instalação do Django for bem-sucedida, você deve ver a página padrão index.html do Django como a seguinte:

django index.html

Agora acesse sua administração do Django via URL /admin, http://192.168.10.15:8080/admin. Digite seu usuário e senha do administrador do Django e clique em Entrar.

login django

Você deve ver um exemplo de um painel de controle de usuário do Django como este:

painel django

Pressione Ctrl+c para encerrar o processo.

Executando Django com Gunicorn e Supervisor

Neste ponto, você terminou a instalação do Django e criou seu primeiro projeto Django. No próximo passo, você configurará o Django para ser executado em segundo plano utilizando o servidor WSGI Gunicorn e o gerenciador de processos Supervisor.

Instalando Gunicorn

Dentro do ambiente virtual venv, execute o comando pip abaixo para instalar gunicorn.

pip install gunicorn

instalando gunicorn

Agora execute o seguinte comando para desativar o ambiente virtual venv e voltar ao seu usuário root.

deactivate  
exit

Executando Django com Gunicorn e Supervisor

Crie uma nova configuração do supervisor /etc/supervisor/conf.d/testapp.conf usando o seguinte comando do editor nano.

sudo nano /etc/supervisor/conf.d/testapp.conf

Insira a seguinte configuração e certifique-se de alterar as informações detalhadas do nome da aplicação, o caminho do projeto e o usuário com suas informações. Neste exemplo, você executará seu projeto Django sob o socket UNIX /home/bob/testdjango/testapp.sock.

[program:testapp]   
command=/bin/bash -c 'source /home/bob/testdjango/venv/bin/activate; gunicorn -t 3000 --workers 3 --bind unix:unix:/home/bob/testdjango/testapp.sock testapp.wsgi:application -w 2'  
directory=/home/bob/testdjango  
user=bob  
group=www-data  
autostart=true   
autorestart=true   
stdout_logfile=/home/bob/testdjango/testapp.log   
stderr_logfile=/home/bob/testdjango/error.log

Salve e saia do arquivo quando terminar.

Por último, execute o seguinte comando para reiniciar o serviço do supervisor e aplicar as alterações. Em seguida, verifique o serviço do supervisor para garantir que o serviço esteja em execução.

sudo systemctl restart supervisor  
sudo systemctl status supervisor

executando django com gunicorn supervisor

Verificando Django via Supervisorctl

Execute o comando supervisorctl abaixo para verificar o status da aplicação que está sendo executada dentro do supervisor.

sudo supervisorctl status

Você deve ver que a aplicação testapp está em execução no PID 2577.

Por último, verifique sua aplicação Django via o comando curl abaixo.

curl --unix-socket /home/bob/testdjango/testapp.sock 127.0.0.1

Se tudo correr bem, você deve ver o código-fonte da página index.html do seu projeto Django.

verificando django dentro do supervisor

Configurando Nginx como um Proxy Reverso para Django

Agora que seu projeto Django está em execução em segundo plano, o próximo passo é configurar o Nginx como um proxy reverso para o Django. O seguinte exemplo usará um nome de domínio local.

Crie uma nova configuração de bloco de servidor Nginx /etc/nginx/sites-available/django usando o seguinte comando do editor nano.

sudo nano /etc/nginx/sites-available/django

Insira a seguinte configuração e certifique-se de alterar o nome de domínio no parâmetro server_name.

server {  
    listen 80;  
    server_name first-django.dev;  
  
    location = /favicon.ico { access_log off; log_not_found off; }  
    try_files $uri @django;  
    location /static {  
        alias /home/bob/testdjango/static/;  
    }  
  
    location @django {  
        proxy_set_header Host $http_host;  
        proxy_set_header X-Real-IP $remote_addr;  
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;  
        proxy_set_header X-Forwarded-Proto $scheme;  
        proxy_pass http://unix:/home/bob/testdjango/testapp.sock;  
    }  
}

Salve e saia do arquivo quando terminar.

Agora execute o seguinte comando para ativar o bloco de servidor /etc/nginx/sites-available/django, em seguida, verifique a sintaxe do Nginx para garantir que você tenha a sintaxe correta.

sudo ln -s /etc/nginx/sites-available/django /etc/nginx/sites-enabled/  
sudo nginx -t

Você deve obter a saída syntax is ok - test is successful quando você tiver a sintaxe correta do Nginx.

Por último, reinicie seu serviço Nginx executando o seguinte comando e aplicando as alterações que você fez.

sudo systemctl restart nginx

Com isso, seu projeto Django é acessível via um nome de domínio local.

Na sua máquina local, edite o arquivo /etc/hosts para Linux ou C:\Windows\System32\drivers\etc\hosts para Windows. Em seguida, defina seu endereço IP do servidor e nome de domínio como o seguinte.

192.168.10.15  first-django.dev

Salve e saia do arquivo quando terminar.

Volte ao seu navegador e visite seu nome de domínio local, você deve ver a página padrão index.html do seu projeto Django.

Conclusão

Em resumo, seguindo este guia passo a passo, você instalou o framework web Django com PostgreSQL, Nginx, Gunicorn e Supervisor no Debian 12. Você aprendeu como criar um projeto Django com PostgreSQL como o banco de dados padrão e executar o Django com Gunicorn e Supervisor. Agora você pode criar e desenvolver sua aplicação com Django.

Share: X/Twitter LinkedIn

Receba novas postagens na sua caixa de entrada

Sem spam. Cancele a assinatura a qualquer momento.