| 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] |