Code

Changes between Version 3 and Version 4 of DeployComNginxEWSGI


Ignore:
Timestamp:
09/23/08 07:22:26 (6 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]