67 | | (a continuar) |
| 67 | Agora 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 | |
| 69 | 1. Abra o arquivo '''/usr/local/nginx/conf/nginx.conf''' como root: |
| 70 | |
| 71 | $ sudo gedit /usr/local/nginx/conf/nginx.conf |
| 72 | |
| 73 | 2. 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 | {{{ |
| 76 | wsgi_var REQUEST_METHOD $request_method; |
| 77 | wsgi_var QUERY_STRING $query_string; |
| 78 | wsgi_var CONTENT_TYPE $content_type; |
| 79 | wsgi_var CONTENT_LENGTH $content_length; |
| 80 | wsgi_var SERVER_NAME $server_name; |
| 81 | wsgi_var SERVER_PORT $server_port; |
| 82 | wsgi_var SERVER_PROTOCOL $server_protocol; |
| 83 | wsgi_var REQUEST_URI $request_uri; |
| 84 | wsgi_var DOCUMENT_URI $document_uri; |
| 85 | wsgi_var DOCUMENT_ROOT $document_root; |
| 86 | wsgi_var SERVER_SOFTWARE $nginx_version; |
| 87 | wsgi_var REMOTE_ADDR $remote_addr; |
| 88 | wsgi_var REMOTE_PORT $remote_port; |
| 89 | wsgi_var SERVER_ADDR $server_addr; |
| 90 | wsgi_var REMOTE_USER $remote_user; |
| 91 | }}} |
| 92 | |
| 93 | 3. Logo abaixo, dentro da seção '''location / {''', comente as linhas contidas e o deixe como no código abaixo: |
| 94 | |
| 95 | {{{ |
| 96 | location / { |
| 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 | |
| 107 | 4. 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 |
| 111 | import os, sys |
| 112 | |
| 113 | sys.path.insert(0, os.path.abspath(os.path.dirname(__file__)+'/../')) |
| 114 | os.environ['DJANGO_SETTINGS_MODULE'] = 'settings' |
| 115 | |
| 116 | import django.core.handlers.wsgi |
| 117 | application = django.core.handlers.wsgi.WSGIHandler() |
| 118 | }}} |
| 119 | |
| 120 | esse script é padrão tanto para NginX como para Apache ou outros vários servidores web. |
| 121 | |
| 122 | 5. Agora vamos dar permissões de execução ao script: |
| 123 | |
| 124 | $ chmod a+x /var/django/meu_projeto/deploy/default.wsgi |
| 125 | |
| 126 | 6. Por fim, é só executar o NginX para ver o seu projeto rodando: |
| 127 | |
| 128 | $ sudo nginx |
| 129 | |
| 130 | Caso algum erro ocorra, verifique as mensagens de erro com: |
| 131 | |
| 132 | $ sudo tail -f /var/log/nginx/error.log |
| 133 | |
| 134 | Como 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 | ---- |
| 139 | Tire outras dúvidas em nosso [wiki:CookBookPortugues CookBook em Português] |