Teste

teste

domingo, 19 de agosto de 2007

Django Apache FastCGI

Que surra mais consegui das duas maneira mod_python e FastCGI, primeiro o FastCGI.

1- O VirtualHost.
<VirtualHost ip ou *:80>
  ServerName golias.algoritmoweb.com.br
  ServerAdmin webmaster@algoritmoweb.com.br
  DocumentRoot /var/www/html/golias.algoritmoweb.com.br/www
  ErrorLog /var/www/html/golias.algoritmoweb.com.br/logs/error_log
  TransferLog /var/www/html/golias.algoritmoweb.com.br/logs/access_log
  LogLevel Debug
  Header set Pragma "no-cache"
  Header set Cache-Control "no-cache"
  Header set Expires "-1"
  IPCCommTimeout 40
  IPCConnectTimeout 10
  <Directory /var/www/html/golias.algoritmoweb.com.br/www>
    Options ExecCGI FollowSymLinks
    AllowOverride AuthConfig Indexes Limit
    Order allow,deny
    Allow from all
    AddHandler fcgid-script .fcgi
    RewriteEngine On
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteRule ^(.*)$ dispatch.fcgi/$1 [QSA,L]
  </Directory>
</VirtualHost>
Com esta configuração basta eu chamar http://golias.algoritmoweb.com.br que a aplicação executa direto sem a necessidade de colocar o /dispatch.fcgi/ no final da URL

2- o Dispatch.fcgi
#!/usr/bin/python
import sys, os
DJANGOPATH = lambda y:os.path.join(os.path.expanduser('~'),y)
PROJECT_PATH = DJANGOPATH('/var/www/html/golias.algoritmoweb.com.br/www')
sys.path.append(PROJECT_PATH)
os.environ['DJANGO_SETTINGS_MODULE'] = "settings"
from fcgi import WSGIServer
from django.core.handlers.wsgi import WSGIHandler
WSGIServer(WSGIHandler()).run()
Pronto sem mistérios.

Espero ter ajudado.
Orlando

Um comentário:

Anônimo disse...

Ajudou muito. Finalmente consegui!