Version 3 (modified by marinho, 7 years ago) (diff)

new changes (continuing)

Deploy com NginX e WSGI

O NginX é um servidor web que tem crescido rapidamente, especialmente por sua escalabilidade e performance. Trata-se de um concorrente à altura para o Apache o Lighttpd. Segue abaixo a receita para implantar um projeto em Django com NginX, usando mod_wsgi.

Este tutorial foi criado com base nas duas URLs a seguir:

Compilando e instalando o NginX com suporte a mod_wsgi

  1. A versão do NginX compatível com mod_wsgi até o momento é a 0.5.37. Será necessário compilar para adicionar suporte ao módulo mod_wsgi. Considerando que esteja usando Ubuntu, Debian ou alguma variante deles, faça o download do código-fonte do NginX na URL a seguir:

http://sysoev.ru/nginx/nginx-0.5.37.tar.gz

  1. Agora será preciso instalar alguns pacotes para continuar no próximo passo. Alguns desses pacotes são necessários para usar o Mercurial (através do qual vamos baixar o mod_wsgi para NginX), outros para compilar o NginX:

sudo apt-get install build-essentials libpcre3 libpcre3-dev libpcrecpp0 libssl-dev zlib1g-dev mercurial checkinstall

  1. Ok, agora descompacte o tarball do código-fonte, como a seguir:

$ tar xvfz nginx-0.5.37.tar.gz

  1. Agora, faça o download do mod_wsgi para NginX:

$ hg clone http://hg.mperillo.ath.cx/nginx/mod_wsgi/

  1. Com o mod_wsgi baixado, o próximo passo será configurar o código-fonte antes de compilar:

$ ./configure --sbin-path=/usr/sbin --pid-path=/var/run/nginx.pid --lock-path=/var/lock/nginx.lock --error-log-path=/var/log/nginx/error.log --http-log-path=/var/log/nginx/access.log --user=www-data --group=www-data --add-module=../mod_wsgi/

  1. Caso tudo ocorra bem, será exibido um resumo como este abaixo. Copie e guarde para a sua segurança:
  nginx path prefix: "/usr/local/nginx"
  nginx binary file: "/usr/sbin"
  nginx configuration file: "/usr/local/nginx/conf/nginx.conf"
  nginx pid file: "/var/run/nginx.pid"
  nginx error log file: "/var/log/nginx/error.log"
  nginx http access log file: "/var/log/nginx/access.log"
  nginx http client request body temporary files: "/usr/local/nginx/client_body_temp"
  nginx http proxy temporary files: "/usr/local/nginx/proxy_temp"
  nginx http fastcgi temporary files: "/usr/local/nginx/fastcgi_temp"
  1. Em seguida, a tarefa é compilar o pacote. Isso irá criar os arquivos binários, mas ainda não será a instalação:

$ make

  1. Agora, seguindo a ótima dica do Monteiro, use o checkinstall para criar um pacote .deb com os arquivos para instalação. Isso será bom pois caso queira remover posteriormente, basta digitar sudo apt-get remove nginx.

$ checkinstall

  1. Siga o assistente respondendo as perguntas (pode ser com os valores default). No passo de descrição finalize o texto com Ctrl+D. Será criado um arquivo com nome semelhante a este:

$ ls *.deb nginx_0.5.37-1_i386.deb

  1. Instale o pacote:

$ sudo dpkg -i nginx_0.5.37-1_i386.deb

Pronto! Seu NginX está instalado com suporte a mod_wsgi!

Configurando um projeto em Django

(a continuar)

Back to Top