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
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
emygroup
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;
- 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
- Mantenha a coerência com o nome dos arquivos. Garanta que todos os endereços são os mesmos em todos os lugares.
- 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
- Revise todo o processo passo a passo para garantir que está alinhado. É importante que você entenda o que está acontecendo em cada processo.
- 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