Deploy de uma aplicação Django no Pythonanywhere

Links da documentação oficial:

https://docs.djangoproject.com/pt-br/1.11/intro/reusable-apps/

Para baixar o código como está até agora, acesse o meu github no link abaixo:
https://github.com/toticavalcanti/django_course/tree/deploy

Deploy do Projeto no Pythonanywhere

Deploy do Projeto no Pythonanywhere

DEPLOY

AGORA VOCÊ CRIOU (E TESTOU) UMA APP LOCALMENTE, VOCÊ VAI QUERER INSTALÁ-LA EM UM SERVIDOR WEB PÚBLICO PARA QUE ELA POSSA SER ACESSADA PELAS PESSOAS NA WEB

PARA ISSO VAMOS:

  • FAZER ALGUMAS ALTERAÇÕES NAS CONFIGURAÇÕES DO PROJETO;
  • ESCOLHER UM AMBIENTE PARA HOSPEDAR O APLICATIVO DJANGO;
  • ESCOLHER UM AMBIENTE PARA HOSPEDAR QUALQUER ARQUIVO ESTÁTICO;

CONFIGURAR A INFRAESTRUTURA DE SERVIDOR DO SEU AMBIENTE DE PRODUÇÃO PARA A APP.

O QUE É UM AMBIENTE DE PRODUÇÃO?

  • O AMBIENTE DE PRODUÇÃO É O AMBIENTE FORNECIDO PELO COMPUTADOR SERVIDOR NO QUAL VOCÊ EXECUTARÁ SUA APP DJANGO PARA CONSUMO EXTERNO

O AMBIENTE INCLUI:

  • HARDWARE
  • SISTEMA OPERACIONAL (POR EXEMPLO, LINUX, WINDOWS)
  • INTERPRETADOR/COMPILADOR (PYTHON) E BIBLIOTECAS
  • SERVIDOR DA WEB USADO PARA AS PÁGINAS E OUTROS CONTEÚDOS (POR EXEMPLO, NGINX, APACHE)
  • SERVIDOR DE APLICATIVOS
  • BANCOS DE DADOS

PYTHONANYWHERE É UM AMBIENTE DE DESENVOLVIMENTO INTEGRADO (IDE) E SERVIÇO DE HOSPEDAGEM WEB BASEADO NA LINGUAGEM DE PROGRAMAÇÃO PYTHON.

UTILIZAREMOS O PLANO FREE.

É NECESSÁRIO LEMBRAR QUE ESTE PLANO, POR SER GRÁTIS, TEM CERTAS LIMITAÇÕES.

ACESSE O LINK ABAIXO E CRIE SUA CONTA:

https://www.pythonanywhere.com/pricing/

ESCOLHA A OPÇÃO:

CREATE A BEGINNER ACCOUNT PARA A CONTA GRÁTIS OU OUTRA OPÇÃO QUE QUEIRA.

AGORA É SÓ PREENCHER O CADASTRO PARA CRIAR LOGIN E SENHA.

ADICIONE UM PROCFILE NA RAIZ DO PROJETO NO MESMO NÍVEL DO:

manage.py

A ÁRVORE DE PASTAS DO PROJETO TÁ MAIS OU MENOS ASSIM

-mysite

      -mysite/

      – django-polls /

      manage.py

ADICIONE UM PROCFILE NA RAIZ DO PROJETO NO MESMO NÍVEL DO:

manage.py

ÁRVORE DE PASTAS DO PROJETO TÁ MAIS OU MENOS ASSIM

-mysite

      -mysite/

      – django-polls /

      manage.py

      Procfile

CONTEÚDO DO Procfile

web: gunicorn mysite.wsgi:django-polls --log-file -

O QUE É O GUNICORN?

Gunicorn ‘Green Unicorn’ é o servidor HTTP Python WSGI (Web Server Gateway Interface), ou Interface de Porta de Entrada do Servidor Web, para UNIX. É um modelo de worker  (trabalhador) derivado do  Ruby’s Unicorn project. O servidor Gunicorn é amplamente compatível com vários frameworks web, simples implementação, leve em recursos de servidor e bastante rápido.

O QUE É O NGINX?

É um servidor web (HTTP e IMAP/POP3/Proxy), ele é um software que processa as solicitações (requests) dos usuários da rede garantindo que a troca de informações seja efetuada.

NGINX, GUNICORN E DJANGO

NGINX, GUNICORN E DJANGO

O Nginx é encarregado de resolver as solicitações (requests) web realizada pelo cliente, reenviando para que o Gunicorn possa processá-las utilizando varios workers.

Cada worker é capaz de se comunicar com a aplicação Django de maneira que se possa atender múltiplas solicitações (requests) ao mesmo tempo, mantendo um bom tempo de resposta.

ADICIONE O ARQUIVO requirements.txt, NA MESMA PASTA DO Procfile e manage.py, COM TODOS OS REQUISITOS, OU SEJA, NA RAIZ DO PROJETO.

-mysite

       -mysite/

       – django-polls /

       manage.py

       Procfile

       requirements.txt

COMANDO PRA GERAR O requirements.txt

COM O AMBIENTE VIRTUAL ATIVADO RODE:

pip freeze > requirements.txt

CONTEÚDO DO requirements.txt

dj-database-url==0.5.0
-e git://github.com/django/django.git@57fd3700d4f5a7887ad3967fe19b61bc9f25b2f3#egg=Django
django-admin-interface==0.7.0
django-colorfield==0.1.15
django-flat-responsive==2.0
django-flat-theme==1.1.4
django-polls==0.1
gunicorn==19.9.0
#pkg-resources==0.0.0
psycopg2==2.7.5
pytz==2018.5

 

CRIE TAMBÉM O runtime.txt PARA ESPECIFICAR A VERSÃO CORRETA DO PYTHON, CRIE ELE NA RAIZ DO PROJETO.

-mysite

      -mysite/

      – django-polls /

      manage.py

      Procfile

      requirements.txt

      runtime.txt

CONTEÚDO DO runtime.txt

python-3.6

CONFIGURE OS PARÂMETROS RELACIONADOS AOS ARQUIVOS ESTÁTICOS EM settings.py

STATIC_URL = ‘/static/’

# Static files (CSS, JavaScript, Images)

# https://docs.djangoproject.com/en/dev/howto/static-files/

# Static files (CSS, JavaScript, Images)

# https://docs.djangoproject.com/en/1.9/howto/static-files/

STATIC_ROOT = os.path.join(BASE_DIR, ‘static’))

PARA MAIORES DETALHES DE COMO COLOCAR NO AR O PROJETO, VEJA O VÍDEO DESSA AULA.

LEMBRE-SE QUE O CÓDIGO TÁ DISPONÍVEL EM:

https://github.com/toticavalcanti/django_course/tree/deploy

E QUE VOCÊ VAI PRECISAR ABRIR UMA CONTA NO GITHUB PARA COLOCAR SEU PROJETO E DEPOIS SUBIR PARA O PYTHONANYWHERE.

DEPOIS DE CRIAR UMA CONTA NO GITHUB, ENTRE NA PASTA QUE QUER COLOCAR O PROJETO E CLONE O PROJETO DO MEU GITHUB .

Ex.

#Cria a pasta de projetos django
mkdir projetos_django

#Entra na pasta projetos_django
cd projetos_django

 

#Para clonar uma branch específica em um repositório github, gitlab, BitBucket, etc, use:
git clone -b <branch> <remote_repo>
ENTÃO NO CASO DO MEU GITHUB VOCÊ VAI FAZER O CLONE DA BRANCH DEPLOY.

#Agora é só clonar o projeto do meu github, da branch deploy, com o comando: git clone -b deploy git@github.com:toticavalcanti/django_course.git 

Para baixar o código como está até agora, acesse o meu github no link abaixo:
https://github.com/toticavalcanti/django_course/tree/deploy

AULA  26

AULA  28

Todas as Aulas da App Polls

Página Principal

Obrigado

Até a próxima

Aula 27 – Deploy de um Projeto Django no Pythonanywhere

About The Author
-

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>