Changes between Version 3 and Version 4 of DeployComNginxEWSGI


Ignore:
Timestamp:
09/23/2008 09:22:26 AM (7 years ago)
Author:
marinho
Comment:

finishing

Legend:

Unmodified
Added
Removed
Modified
  • DeployComNginxEWSGI

    v3 v4  
    6565== Configurando um projeto em Django ==
    6666
    67 (a continuar)
     67Agora vamos configurar o NginX para exibir seu projeto em Django. Supondo que seu projeto se chame "meu_projeto", localizado na pasta "/var/django/meu_projeto/", vamos aos passos a seguir:
     68
     691. Abra o arquivo '''/usr/local/nginx/conf/nginx.conf''' como root:
     70
     71    $ sudo gedit /usr/local/nginx/conf/nginx.conf
     72
     732. Na seção '''http''' você deverá encontrar uma seção '''server'''. Dentro desta, localize algumas linhas abaixo, a linha que contenha '''location / {''' e acrescente as linhas a seguir:
     74
     75{{{
     76wsgi_var  REQUEST_METHOD      $request_method;
     77wsgi_var  QUERY_STRING        $query_string;
     78wsgi_var  CONTENT_TYPE        $content_type;
     79wsgi_var  CONTENT_LENGTH      $content_length;
     80wsgi_var  SERVER_NAME         $server_name;
     81wsgi_var  SERVER_PORT         $server_port;
     82wsgi_var  SERVER_PROTOCOL     $server_protocol;
     83wsgi_var  REQUEST_URI         $request_uri;
     84wsgi_var  DOCUMENT_URI        $document_uri;
     85wsgi_var  DOCUMENT_ROOT       $document_root;
     86wsgi_var  SERVER_SOFTWARE     $nginx_version;
     87wsgi_var  REMOTE_ADDR         $remote_addr;
     88wsgi_var  REMOTE_PORT         $remote_port;
     89wsgi_var  SERVER_ADDR         $server_addr;
     90wsgi_var  REMOTE_USER         $remote_user;
     91}}}
     92
     933. Logo abaixo, dentro da seção '''location / {''', comente as linhas contidas e o deixe como no código abaixo:
     94
     95{{{
     96location / {
     97    #root   html;
     98    #index  index.html index.htm;
     99    wsgi_pass /var/django/meu_projeto/deploy/default.wsgi;
     100
     101    wsgi_pass_authorization off;
     102    wsgi_script_reloading on;
     103    wsgi_use_main_interpreter on;
     104}
     105}}}
     106
     1074. Agora vamos preparar o seu projeto para ser acessível via WSGI. Crie uma pasta em seu projeto chamada '''default''' e dentro dela crie um arquivo '''default.wsgi''', com o seguinte conteúdo:
     108
     109{{{
     110#!/usr/bin/env python
     111import os, sys
     112
     113sys.path.insert(0, os.path.abspath(os.path.dirname(__file__)+'/../'))
     114os.environ['DJANGO_SETTINGS_MODULE'] = 'settings'
     115
     116import django.core.handlers.wsgi
     117application = django.core.handlers.wsgi.WSGIHandler()
     118}}}
     119
     120esse script é padrão tanto para NginX como para Apache ou outros vários servidores web.
     121
     1225. Agora vamos dar permissões de execução ao script:
     123
     124    $ chmod a+x /var/django/meu_projeto/deploy/default.wsgi
     125
     1266. Por fim, é só executar o NginX para ver o seu projeto rodando:
     127
     128    $ sudo nginx
     129
     130Caso algum erro ocorra, verifique as mensagens de erro com:
     131
     132    $ sudo tail -f /var/log/nginx/error.log
     133
     134Como pode ver, essa forma de rodar o NginX não é a mais indicada, portanto, verifique a seguinte URL que possui uma boa dica para criar um daemon para o serviço da forma ideal:
     135
     136    http://www.monteiro.eti.br/2007/11/30/instalando-o-mais-recente-nginx-no-seu-ubuntu/
     137
     138----
     139Tire outras dúvidas em nosso [wiki:CookBookPortugues CookBook em Português]
Back to Top