Será que não é por falta do uwsgi_params? Uso o uwsgi com nginx e já
instalei ele em 3 vps, sempre foi tranquilo.. dá uma olhada nas
minhas configs:
http://dpaste.com/hold/543698/
abs!
Robson
> --
> Django Brasil em Google Groups <http://groups.google.com.br/group/django-brasil>
> Associe-se à Python Brasil e suporte nossa comunidade! <http://associacao.python.org.br/>
>
haha bacana! uwsgi rlz.. e o site dele é meio confuso mesmo hehe
Então, todos os parâmetros eu peguei da própria documentação e do
comando uwsgi --help:
--pp /path/to/my/project # python path
-p 5 # numero de processos
-w wsgi # importa o arquivo wsgi.py, que contem o wsgihandler
-b 8192 # tamanho do buffer
--harakiri 120 # mata (e reinicia) o processo se a requisição passar
de 120 segundos (é quase um chuck noris)
-M # habilita um processo master p/ gerencia os filhos (childrens)
-z 220 # socket timeout (o padrão é 4 segundos)
-O 1 # nivel de otimização do código python (bytecodes)
-r # reaper.. elimina os processos zumbis que sua app pode ter chamado
--limit-as 128 # limita cada processo em 128mb de ram (se passar
disso, kill them :)
--disable-logging # desabilita os logs
--max-requests 1000 # número máximo de requisições por processo
--no-orphans # matando o processo pai, os filhos morrem junto (não
deixa nenhum órfão hehe)
--vacuum # puxa a descarga ao terminar (limpa os arquivos .sock e .pid hehe)
--uid myuser # rodar como usuário "myuser"
-s site.sock # nome do socket (filename)
--pidfile site.pid # nome do arquivo com o pid do processo pai
-d site.log # roda em daemon e define o arquivo p/ log de erros
tem várias outras opções interessantes lá no --help :)
ah, se vc quiser fazer um reload na tua app do django sem reiniciar o
processo do servidor, basta mandar um SIGHUP pra ele:
# kill -sighup pid_do_processo_pai
ou, como vc está exportando o pid no arquivo "site.pid":
# kill -sighup `cat site.pid`
abs!
Robson
[]'s
Em 18/05/2011 03:09, Robson escreveu:
> Em 18 de maio de 2011 02:36, Python - Django<toninh...@gmail.com> escreveu:
>> Robson, n�o sei como lhe agradecer, estava quase desistindo, o Nginx
>> n�o era o problema, a sua chamada do uwsgi nunca tinha visto dessa
>> maneira, onde voc� conseguiu a documenta��o? rodou aqui na boa agora,
>> a coisa estava t�o feia que at� o site do uwsgi que estava pesquisando
>> ficou offline no come�o da noite e at� agora de madrugada.
>>
>> no meu caso, eu via que o console que rodava o uwsgi respondia ao
>> refresh do browser, mas n�o carregava nada do django, com esses
>> par�metros que voc� me passou, mostrou o portal, s� adaptei ao meu
>> modelo, se tiver uma explica��o dessa linha de comando eu agredeceria,
>> estou fazendo local e vou levantar o django num VPS, esse VPS roda
>> nginx hoje, mas s� um site est�tico em html, � r�pido e vendo o htop
>> do linux, consome muito pouca mem�ria, estou na linode.com, cara,
>> estudei muito Nginx de ler o livro do Cl�ment Nedelcu Nginx Http
>> Server, o �nico livro do mesmo e bem explicativo, pois eu depurava o
>> arquivo nginx.conf e os m�dulos e nada de erro, mas valeu, muito
>> obrigado.
>>
>> Toninho Nunes
>>
>>
> haha bacana! uwsgi rlz.. e o site dele � meio confuso mesmo hehe
>
> Ent�o, todos os par�metros eu peguei da pr�pria documenta��o e do
> comando uwsgi --help:
>
> --pp /path/to/my/project # python path
> -p 5 # numero de processos
> -w wsgi # importa o arquivo wsgi.py, que contem o wsgihandler
> -b 8192 # tamanho do buffer
> --harakiri 120 # mata (e reinicia) o processo se a requisi��o passar
> de 120 segundos (� quase um chuck noris)
> -M # habilita um processo master p/ gerencia os filhos (childrens)
> -z 220 # socket timeout (o padr�o � 4 segundos)
> -O 1 # nivel de otimiza��o do c�digo python (bytecodes)
> -r # reaper.. elimina os processos zumbis que sua app pode ter chamado
> --limit-as 128 # limita cada processo em 128mb de ram (se passar
> disso, kill them :)
> --disable-logging # desabilita os logs
> --max-requests 1000 # n�mero m�ximo de requisi��es por processo
> --no-orphans # matando o processo pai, os filhos morrem junto (n�o
> deixa nenhum �rf�o hehe)
> --vacuum # puxa a descarga ao terminar (limpa os arquivos .sock e .pid hehe)
> --uid myuser # rodar como usu�rio "myuser"
> -s site.sock # nome do socket (filename)
> --pidfile site.pid # nome do arquivo com o pid do processo pai
> -d site.log # roda em daemon e define o arquivo p/ log de erros
>
> tem v�rias outras op��es interessantes l� no --help :)
>
> ah, se vc quiser fazer um reload na tua app do django sem reiniciar o
> processo do servidor, basta mandar um SIGHUP pra ele:
> # kill -sighup pid_do_processo_pai
>
> ou, como vc est� exportando o pid no arquivo "site.pid":
Instalar Python2.7
Instalar Django-1.3 no Python2.7 (ao entrar na pasta do django, usar
python2.7 setup.py install pra garantir que caia na pasta certa)
Instalar SetupTools da vers�o espec�fica (tem a 2.7 no site, esqueci de
pegar a URL)
Instalar Flup - FastCGI para o Django
Instalar o m�dulo do MySQL(ou outro do banco que preferir, eu gosto de
mysql 5.5[works!]):
Note que, se voc� tem instala��es de python diferentes, existem
django-admin.py diferentes, assim, tu pode dar um django-admin.py
--version (acho que � isso) pra confirmar a vers�o do django que �
instalado.
/usr/local/bin/django-admin.py startproject teste
Configurar o banco no settings.py
python2.7 manage.py syncdb
python2.7 manage.py runfcgi method=prefork
socket=/home/django-fastcgi/teste/teste.sock ; chmod 777 teste.sock
Vhost para o funcionamento:
#
# django-fastcgi.kinghost.net
#
# django-fastcgi.kinghost.net (WWW)
server {
#logs
log_format logdjango-fastcgi 'django-fastcgi.kinghost.net
$remote_addr - $remote_user [$time_local] "$request" $status
$body_bytes_sent "$http_referer" "$http_user_agent"';
access_log /home/logs/nginx_log logdjango-fastcgi;
# ip de acesso / vhost
listen 189.38.81.233:80;
server_name .django-fastcgi.kinghost.net
.django-fastcgi.web333.kinghost.net;
root /home/django-fastcgi/www;
location /media {
root /home/django-fastcgi/teste;
}
location / {
fastcgi_pass unix:/home/django-fastcgi/teste/teste.sock;
fastcgi_param PATH_INFO $fastcgi_script_name;
fastcgi_param REQUEST_METHOD $request_method;
fastcgi_param QUERY_STRING $query_string;
fastcgi_param CONTENT_TYPE $content_type;
fastcgi_param CONTENT_LENGTH $content_length;
fastcgi_pass_header Authorization;
fastcgi_intercept_errors off;
}
}
Tamb�m, na conta do usu�rio, pra facilitar, d� pra fazer o alis do
python pro python2.7, assim ele s� d� um python syncdb direto.
Criei tamb�m uns alias uteis:
alias apprestart='rm ~/teste/*pyc ; ~/restarta.sh ; python
~/teste/manage.py runfcgi method=prefork
socket=/home/django-fastcgi/teste/teste.sock pidfile=~/teste/teste.pid ;
chmod 777 ~/teste/teste.pid ~/teste/teste.sock'
restarta.sh:
[django-fastcgi@web333 ~]$ cat restarta.sh
#!/bin/bash
# caminhos
PROJDIR="/home/django-fastcgi/teste"
PIDFILE="$PROJDIR/teste.pid"
SOCKET="$PROJDIR/teste.sock"
cd $PROJDIR
if [ -f $PIDFILE ]; then
kill `cat -- $PIDFILE`
rm -f $PROJDIR/teste.pid
rm -f $PROJDIR/teste.sock
touch $PROJDIR/teste.pid
touch $PROJDIR/teste.sock
fi
De qualquer modo, fico a tua disposi��o se quiser configurar assim e
precisar de ajuda;
[]'s
Em 18/05/2011 09:39, Python - Django escreveu:
> Posta a� ou indica o conte�do onde tem esse modo de fazer, o que eu li
> � que o uwsgi seria superior ao wsgi e fastcgi em performance e
> consumo de mem�ria bem reduzido, segundo os blogs que li � a melhor
> combina��o, mas vamos ver.
Em 18/05/2011 10:05, Python - Django escreveu:
> Poxa, valeu, vou tentar isso tamb�m, fazer comparativos, o neg�cio �
> montar bons artigos para facilitar o deploy de aplica��es Django.
Eu estou rodando aqui com Cherokee + SCGI + Memcached.
Nada a reclamar por enquanto.
Vou pesquisar pra ver o que pode ser feito com o varnish (vejo muito o
pessoal do zope utilizando-o) nessa minha estrutura atual.
-----------------------------------
Quanto a configuração dos ambientes
Quanto ao CentOS: realmente algumas coisas tender a ser problemáticas.
Eu mesmo utilizo o repositório EPEL, de onde pego o python 2.6. Outra
alternativa interessante é utilizar srpms para gerar um pacote para o
seu sistema.
No debian o trio apt-get source, apt-get build-dep e dpkg-buildpackage
geram pacotes de forma muito simples e que, ainda por cima, respeitam
a forma como as coisas são distribuídas no sistema.
Att,
Gabriel Cavalcante
ADMIN_MEDIA_PREFIX = '/media/'
cp -Rf /usr/local/lib/python2.7/site-packages/django/contrib/admin/media/ .
S� mudar a vers�o do teu python, a pasta n�o importa diretamente, ele
vai criar subpastas em /media/img e /media/js
Mas se quiser, pode especificar outras pastas, pra mim funciona assim,
urls.py:
(r'^media/(.*)$', 'django.views.static.serve',
{'document_root': settings.MEDIA_ROOT}),
nginx.conf:
location /media {
root /home/django-fastcgi/teste;
}
Em 18/05/2011 14:50, Python - Django escreveu:
> Oi Pessoal,
>
> eu de novo, o nginx + uwsgi est� rodando perfeito, mas o meu admin n�o
> busca o css e as imagens relacionadas, estou usando grappelli, rodando
> pelo ./manager.py runserver funciona normal, mas pelo uwsgi aparece
> tudo bagun�ado, engra�ado que ele mostra as imagens de uma galeria de
> fotos que desenvolvi, mas isso est� no media, agora o media do admin
> nada, segue as configura��es.
>
> settings.py --> http://gbpaste.org/wabZU
> urls.py --> http://gbpaste.org/mTHTG
> sites-enabled do nginx --> http://gbpaste.org/cDSH6
>
> N�o est� dando erro nenhum, somente n�o mostra o admim na forma visual
> no qual funciona no desenvolvimento normalmente, j� pesquisei aqui
> d�vidas parecidas, mas n�o encontrei uma solu��o semelhante para quem
Em 18/05/2011 14:58, Gabriel SERPRO escreveu:
> Boa tarde,
>
>
> Eu estou rodando aqui com Cherokee + SCGI + Memcached.
>
> Nada a reclamar por enquanto.
>
> Vou pesquisar pra ver o que pode ser feito com o varnish (vejo muito o
> pessoal do zope utilizando-o) nessa minha estrutura atual.
> -----------------------------------
> Quanto a configura��o dos ambientes
>
> Quanto ao CentOS: realmente algumas coisas tender a ser problem�ticas.
> Eu mesmo utilizo o reposit�rio EPEL, de onde pego o python 2.6. Outra
> alternativa interessante � utilizar srpms para gerar um pacote para o
> seu sistema.
>
> No debian o trio apt-get source, apt-get build-dep e dpkg-buildpackage
> geram pacotes de forma muito simples e que, ainda por cima, respeitam
> a forma como as coisas s�o distribu�das no sistema.
>
>
> Att,
>
> Gabriel Cavalcante
>
> Em 18 de maio de 2011 14:50, Python - Django<toninh...@gmail.com> escreveu:
>> Oi Pessoal,
>>
>> eu de novo, o nginx + uwsgi est� rodando perfeito, mas o meu admin n�o
>> busca o css e as imagens relacionadas, estou usando grappelli, rodando
>> pelo ./manager.py runserver funciona normal, mas pelo uwsgi aparece
>> tudo bagun�ado, engra�ado que ele mostra as imagens de uma galeria de
>> fotos que desenvolvi, mas isso est� no media, agora o media do admin
>> nada, segue as configura��es.
>>
>> settings.py --> http://gbpaste.org/wabZU
>> urls.py --> http://gbpaste.org/mTHTG
>> sites-enabled do nginx --> http://gbpaste.org/cDSH6
>>
>> N�o est� dando erro nenhum, somente n�o mostra o admim na forma visual
>> no qual funciona no desenvolvimento normalmente, j� pesquisei aqui
>> d�vidas parecidas, mas n�o encontrei uma solu��o semelhante para quem
>> Associe-se � Python Brasil e suporte nossa comunidade!<http://associacao.python.org.br/>
Porque n�o faz um symlink? Talvez funcione(n�o testei).
Em 18/05/2011 15:52, Python - Django escreveu:
> Mas a� voc� est� copiando o media do source para sua app, e quando
> houver atualiza��es? At� agora n�o consegui rodar em produ��o o admim
> com a apar�ncia correta, j� apontei desta forma no nginx.
http://blog.gustavohenrique.net/2011/04/deploy-multiplas-versoes-do-django-no-nginx-com-virtualenv/
--
Django Brasil em Google Groups <http://groups.google.com.br/group/django-brasil>
Associe-se à Python Brasil e suporte nossa comunidade! <http://associacao.python.org.br/>