DEV Community

Cover image for Subir aplicação web DJANGO em um servidor Linux 2/2
Rita Carolina for Feministech

Posted on

Subir aplicação web DJANGO em um servidor Linux 2/2

Configure o Gunicorn como um serviço do systemd (continuação):

  • Adicione a seguinte configuração, ajustando o caminho do ambiente virtual, o usuário e o grupo, conforme necessário:
[Unit]
Description=gunicorn daemon
After=network.target

[Service]
User=myuser
Group=mygroup
WorkingDirectory=/path/to/your/django/project
Environment="PATH=/path/to/your/virtualenv/bin"
ExecStart=/path/to/your/virtualenv/bin/gunicorn --access-logfile - --workers 3 --bind unix:/path/to/your/django/project/myproject.sock myproject.wsgi:application

[Install]
WantedBy=multi-user.target

Enter fullscreen mode Exit fullscreen mode
  • Substitua /path/to/your/django/project pelo caminho absoluto do diretório do projeto Django.

  • Substitua /path/to/your/virtualenv pelo caminho absoluto do diretório do ambiente virtual.

  • Substitua myuser e mygroup pelos nomes de usuário e grupo apropriados.

Inicie e habilite o serviço Gunicorn:

  • Inicie o serviço Gunicorn: sudo systemctl start gunicorn.
  • Verifique o status do serviço Gunicorn: sudo systemctl status gunicorn.
  • Habilite o serviço Gunicorn para iniciar automaticamente após a reinicialização do servidor: sudo systemctl enable gunicorn.

Atualize a configuração do Nginx para usar o arquivo de soquete do Gunicorn:

  • Abra o arquivo de configuração do Nginx: sudo nano /etc/nginx/sites-available/myproject.
  • Modifique a linha proxy_pass para usar o arquivo de soquete:
proxy_pass http://unix:/path/to/your/django/project/myproject.sock;
Enter fullscreen mode Exit fullscreen mode
  • Verifique se a configuração do Nginx está correta: sudo nginx -t.
  • Reinicie o Nginx: sudo systemctl restart nginx.

Configurar o firewall (opcional):

  • Se você estiver usando o ufw como firewall, permita conexões ao Nginx: sudo ufw allow 'Nginx Full'.

Teste sua aplicação web Django:

  • Acesse a aplicação web Django usando o endereço IP ou domínio do servidor no navegador.

Possíveis erros

  1. Mantenha a coerência com o nome dos arquivos. Garanta que todos os endereços são os mesmos em todos os lugares.
  2. Cheque se todos os arquivos estão com as configurações corretas Nginx: sudo nano /etc/nginx/sites-available/myproject Gunicorn: sudo nano /etc/systemd/system/gunicorn.service Hosts: sudo nano /etc/hosts Hostname: sudo nano /etc/hostname

Dicas

  1. Revise todo o processo passo a passo para garantir que está alinhado. É importante que você entenda o que está acontecendo em cada processo.
  2. Use da Inteligência Artificial do ChatGPT para resolver erros!

Parte 1: https://dev.to/feministech/subir-aplicacao-web-django-em-um-servidor-linux-12-58ec


Enter fullscreen mode Exit fullscreen mode

Top comments (2)

Collapse
 
eduardoklosowski profile image
Eduardo Klosowski

Apoio uma parte 3 com configurações recomendadas para produção, como desativar o DEBUG, por exemplo.

Collapse
 
ritaalamino profile image
Rita Carolina

Necessário! Vou preparar.