Executando verificação de segurança...
1

[PARTE-2][TUTORIAL][DEPLOY][DJANGO] - Enviando para deploy

Orientações

Para o deploy usarei minha VPS/Domínio comprados no site da HOSTINGER , para quem quiser me ajudar comprando com o meu cumpom HOSTINGER - REFERÊNCIA, caso você compra sua VPS e seu domínio, ou qualquer outro produto dentro do site, utilizando meu código, vai me ajudar a receber uma graninha a mais.

Na hostinger eles oferecem o aplicativo para deploy de varias aplicações, como django, rusty, node entre outras, usando o OpenLiteSpeed como gerênciador.
Muitas vezes tentei fazer deploy com NGINX, porém é muito trabalhoso.

Usaremos também POSTGRESSQL, caso queira usar SQLITE apenas pule as etapas indicadas.

Continuando

Após a verificação que tudo ocorreu perfeitamente, e já com sua VPS com OpenLiteSpeed em mãos, vamos que vamos.

Repositório GitHub

Vamos criar um repositório GitHub, após criar você também vai precisar de um token de acesso.
GITHUB - TOKENS
...
Eai criou?
Se sim, bora lá copie sua chave ssh, na sua pasta principal django-project

.gitignore

Esse é o gitignore do projeto, caso queira colocar algo a mais é só adicionar

__pycache__
migrations
*.sqlite3
.env
.gitingore
$ git init
$ git remote add MyBranch <chave-ssh-do-repo>
$ git fetch -a
$ git add --all
$ git commit -m "update: Base do projeto `deploy-django`"
$ git push origin main

Em sua VPS hostinger, você pode ir até SISTEMA OPERACIONAL > APLICATIVOS > "Ubuntu 22.04 64bit with Django/OpenLiteSpeed" > MUDAR SO, esperar o tempo necessário, então você vai acessar seu rep

ssh root@seu-ip
Vamos pegar a senha do OpenLiteSpeed e já vamos adicionar nosso repositório.

$ sudo cat .litespeed_password
# COPIAR O OUTPUT
$ source /usr/local/lsws/Example/html/bin/activate
$ cd /usr/local/lsws/Example/html/
$ mkdir django-project
$ cd django-project
$ git init
$ git remote add VpsBranch <chave-ssh-do-repo>
#ELE VAI SOLICITAR O TOKEN GERADO, PODE COLOCAR TANTO NO USUÁRIO QUANT O SENHA
$ git fetch -a
# NOVAMENTE SERÁ SOLICITADO O TOKEN
$ git pull origin main
$ python manage.py collectstatic
$ cd ..
$ sudo chown -R nobody:nogroup django-project/
# NOVAMENTE SERÁ SOLICITADO O TOKEN
$ sudo ufw enable

Criando banco de dados postgres (CASO QUEIRA PULAR)
No arquivo de settings, production, caso não for usar o postgres é necessário retirar a configuração de postgres e voltar a original de SQLITE, recomendo usar postgres.

$ apt install postgresql postgresql-contrib -y
$ sudo -u postgres psql
$ CREATE DATABASE django_project_db;
$ CREATE USER django_project_user WITH PASSWORD '!r8!9ja-3jl*_@5f*3uz4#byytvets90tj9g_9w(t$!_^7!l3j';
$ GRANT ALL PRIVILEGES ON DATABASE django_project_db TO django_project_user;
$ \q

Vamos configurar o openlitespeed, com seu ip/dominio pronto, vá para o seu browser e na frente coloce a porta 7080
domain.com.br:7080, ele vai falar que não é seguro mas pode continuar.
O usuário é o admin e a senha foi o output coletado do "cat .litespeed_password" do código acima.

Entrando vamos em:
VIRTUAL HOST > EXAMPLE ( NA LUPA EM ACTION) > CONTEXT > APP SERVER (DO LADO DA LUPA TEM UM BOTÃO COM TOOLTYPE EDIT)

  • Configurações
    • Location /usr/local/lsws/Example/html/django-project
    • Binary Path /usr/local/lsws/fcgi-bin/lswsgi
    • Application Type WSGI
    • Startup File
    • core/wsgi.py
    • Enviroment
    • SECRET_KEY=!r8!9ja-3jl*_@5f*3uz4#byytvets90tj9g_9w(t$!_^7!l3j
      DEBUG=False
      POSTGRES_NAME=django_project_db
      POSTGRES_USER=django_project_user
      POSTGRES_PASSWORD=!r8!9ja-3jl*_@5f*3uz4#byytvets90tj9g_9w(t$!_^7!l3j
      POSTGRES_HOST=localhost
      POSTGRES_PORT=5432
      
      

Alternativa 2: Ao invés de usar o ENV, pode-se colocar os dados do DB no próprio production.py, ficando apenas o DEBUG=False e o SECRET_KEY.

Após adicionado as configurações, salvar no icone de salvar na direita superior, dar restart, o ícone fica também na direita superior.

Deve-se ir ao HPANEL da hostinger e reiniciar a VPS.

Voltamos à VPS, vamos fazer o seguinte, já com o enviroment ativo, vamos na pasta novamente

$ source /usr/local/lsws/Example/html/bin/activate
$ cd /usr/local/lsws/Exemple/html/django-project
$ python manage.py makemigrations
#PARA TESTAR VAMOS RODAR
$ python manage.py runserver
#CASO TENHA DADO TUDO CERTO, PARE UTILIZANDO CTRL+C
$ sudo ufw delete allow 7080
$ sudo ufw disable

Finalizando, é só reiniciar a VPS e entrar no seu site e ser feliz.

Qualquer problema ou dúvida só me chamar, espero não ter esquecido de nada.
Usem meu CUPOM, e se alguém quiser me arranjar a primeira vaga como dev junior, eu ficaria muito feliz, aceito ser até assistente <3

< VOLTAR

Carregando publicação patrocinada...