Servidor de produção Windows para Django

905 views
Skip to first unread message

Alander Hermini

unread,
Jul 6, 2017, 11:51:20 AM7/6/17
to Django Brasil
Olá a todos, 

Na empresa que trabalho, tomamos algumas decisões de construção de aplicações web para, basicamente, apresentar dados (em formato de dashboard), sendo que estes dados serão gerados, basicamente, por Python, então, a escolha do Django para construção destas aplicações foi meio que natural (embora não tenhamos ainda muita familiaridade).

Precisamos agora montar um servidor (que tem que ser Windows) para hospedar tanto a aplicação em Django e os scripts Python com banco de dados (estamos usando tanto com MySQL e MongoDB, dependendo do objetivo de cada script Python).

Nossa infraestrutura está preparando uma máquina virtual em Windows, que deverá ser acessada apenas da rede interna, e agora temos que definir o que deve estar nesta máquina e como vamos integar.

A princípio seria:

Apache (ou outro webserver)
PHP (ainda teremos outras coisas que já existem rodando em PHP e serão migradas para este servidor)
MySQL
MongoDB
Python
Django

A minha dúvida seria:

  • Devemos usar o Apache mesmo? Pode ser usado alguma instalação WAMP?
  • Como integrar o Python ao webserver?
  • Como integrar o Django ao webserver?
  • Alguma coisa a mais que eu deva saber para começar certo?

Qualquer dica será muito bem vinda.

Obrigado 

Lúcio Corrêa

unread,
Jul 6, 2017, 11:57:15 AM7/6/17
to django...@googlegroups.com
Por curiosidade: por que teria que rodar em Windows?

--
Você recebeu essa mensagem porque está inscrito no grupo "Django Brasil" dos Grupos do Google.
Para cancelar inscrição nesse grupo e parar de receber e-mails dele, envie um e-mail para django-brasil+unsubscribe@googlegroups.com.
Para mais opções, acesse https://groups.google.com/d/optout.



--
Lúcio Flávio Corrêa
@luciocorrea

Diego Nascimento

unread,
Jul 6, 2017, 12:01:06 PM7/6/17
to django...@googlegroups.com
Olá Alander,

Te passando dois tutoriais mostrando como faz para instalar ele no windows, um com o apache e o outro com o iis, eu acho que a escolha entre um e outro tanto faz, desde que no final tudo funcione direito, veja os tutorias, faça testas na tua VM e veja qual se sai melhor nos teus testes.




Abraço,


--

Avraham Serour

unread,
Jul 6, 2017, 12:10:32 PM7/6/17
to Django Brasil
uma vez na minha vida eu tive que fazer deploy do django no windows, depois de tentar varias coisas eu instaley cygwin no windows e depois usei nginx e uwsgi como uma pessoa normal

voce poderia usar so o uwsgi e configurar o apache para redirecionar para a porta do uwsgi

tem um mod uwsgi do apache, mas nao sei em termos praticos como seria no windows, pode valer a pena investigar essa caminho

hoje em dia tem tambem o WSL, que pelo que entendi e a mesma coisa que o cygwin

Júlio Max

unread,
Jul 6, 2017, 12:24:55 PM7/6/17
to django...@googlegroups.com
Olá Alander,

Você também tem a opção de utilizar o nginx ou o cherokee.
Entre o webserver e o python, pode utilizar o uwsgi ou o gunicorn

Um setup bacana para esse caso, seria:
 - aqui o nginx serviria os arquivos estáticos/media e um proxy direcionando para a aplicação o que não for estáticos/media
 - aqui estou recomendando o uwsgi por (além de ser uma ótima escolha) você também pode usá-lo para servir o php com setups muito semelhantes, então precisaria de menos especialistas

Se vai começar agora, recomendo que utilize python 3.6 e django 1.11

Se estiver utilizando windows 10, você pode fazer tudo isso com o wsl  Bash on Ubuntu on Windows - Installation Guide e ainda utilizar o supervisor para cuidar do uptime dos processos.

Essas são minhas dicas.

Valeu.
















Para cancelar inscrição nesse grupo e parar de receber e-mails dele, envie um e-mail para django-brasi...@googlegroups.com.

Alander Hermini

unread,
Jul 6, 2017, 1:27:43 PM7/6/17
to Django Brasil
Olá Lúcio, em alguns momentos os scripts Py irão executar um aplicativo (.exe) específico para data analytics que utilizamos (ACL Analytics), que ficará hospedado neste servidor. Como não há versão para Windows deste software, todo o ambiente será Windows.
Para cancelar inscrição nesse grupo e parar de receber e-mails dele, envie um e-mail para django-brasi...@googlegroups.com.

Para mais opções, acesse https://groups.google.com/d/optout.

Sinval Júnior

unread,
Jul 6, 2017, 8:23:36 PM7/6/17
to django...@googlegroups.com
Alander Hermini

Seria muito complicado tranformar seu .exe em um webservice, ou integrar sua aplicação django com agentes especificos:
SNMPv3
+ jsonrpc
+ Tranformar seu .exe em um serviço que escreva em uma tabela, ou coleção do MongoDB 
Mais não foi essa  sua pergunta né. Desculpe a enrolação. Para rodar diretamente o IIS, inacreditavel pessoas pagarem por isso considerendo as opções infinitamente superiores, pode usar FastCGI [1]

Em relação ao Apache no Windows. Um dos principais problemas está nas atualizações de segurança que não acontecem automaticamente, Igual aconteceria no Debian, Ou Centos. 




Ao encaminhar esta mensagem, por favor:
1 - Apague meu endereço eletrônico;
2 - Encaminhe como Cópia Oculta (Cco ou BCc) aos seus destinatários. Dificulte assim a disseminação de vírus, spams e banners.

#=================================================================+
#!/usr/bin/env python
nome = 'Sinval Júnior'
email = 'sinvalju arroba gmail ponto com'
print nome
print email
#==================================================================+

Para cancelar inscrição nesse grupo e parar de receber e-mails dele, envie um e-mail para django-brasil+unsubscribe@googlegroups.com.

Guilherme Medeiros

unread,
Jul 8, 2017, 5:58:55 PM7/8/17
to django...@googlegroups.com
Funciona muito melhor no Windows do que fazer qualquer outra coisa.
Se for Windows Server então, ai você está feito!


Para cancelar inscrição nesse grupo e parar de receber e-mails dele, envie um e-mail para django-brasil+unsubscribe@googlegroups.com.

Para mais opções, acesse https://groups.google.com/d/optout.

--
Você recebeu essa mensagem porque está inscrito no grupo "Django Brasil" dos Grupos do Google.
Para cancelar inscrição nesse grupo e parar de receber e-mails dele, envie um e-mail para django-brasil+unsubscribe@googlegroups.com.

Artur

unread,
Aug 2, 2017, 7:45:53 AM8/2/17
to Django Brasil
Entendi a sua situação, se for usar o ambiente todo windows existem muitas boas opções, mas acredito que você deva avaliar como será a carga desse servidor, colocar muitos serviços diferentes em uma máquina só, mesmo que virtual, não é muito interessante, se dá um problema nela para tudo.

Talvez você poderia separar os servidores e rodar serviços em cada um deles e um interagindo com o outro independente.

É só uma sugestão, é que eu trabalhei alguns anos em um setor e nós fizemos toda essa separação porque realmente quando algum problema ocorria era um Deus nos acuda.

Caio César Lima Borges

unread,
Aug 3, 2017, 8:25:41 AM8/3/17
to Django Brasil
Bom dia,
  • utilizo aqui o NGINX (ao invés do Apache) funciona perfeitamente bem... fácil de configurar, existem vários comparativos na web dele com apache (como refereência, Globo.com usa NGINX)
  • O projeto Django com GUNICORN
  • Eu não criaria no windows... faz uma máquina Linux pq mais na frente vc irá querer fazer deploy automatizado com o fabric e no windows é foda... (INCLUSIVE ALGUMAS LIBS NO WINDOWS É UM PÉ NO SACO P FUNCIONAR OU N FUNCIONA, POR EXEMPLO DE NOTA FISCAL kkk)

Vc só trocaria os DBs.

Aqui na empresa a grosso modo é essa configuração do link, claro q sempre tem os ajustes para a necessidade.

Em quinta-feira, 6 de julho de 2017 12:51:20 UTC-3, Alander Hermini escreveu:
Reply all
Reply to author
Forward
0 new messages