En httpd.conf (fuera de cualquier virtual host):
FastCGIExternalServer /.../wmldocs/mysite.fcgi -socket /home/.../mysite/mysite.sock
(Detro del host virtual, si hay uno):
Alias "/cel" "/.../wmldocs"
RewriteEngine On
RewriteBase /.../wmldocs
RewriteCond %{REQUEST_FILENAME} !-f #Si lo que se solicita no es un archivo
RewriteRule ^/(.*)$ /mysite.fcgi/$1 [QSA,L]
Ejecutar el servidor de fcgi (daemonize=false se usa para depurar):
[]$ python manage.py runfcgi daemonize=false method=prefork socket=/home/.../mysite/mysite.sock pidfile=/home/.../mysite/mysite.pid
Detener el servidor:
[]$ kill `cat $PIDFILE`
[]$ rm -f $PIDFILE
Aún obtengo:
(13)Permission denied: FastCGI: failed to connect to server
Después de no encontrar el motivo del fallo (apache corre con un usuario, el subdominio con otro, fastcgi requiere permisos de lectura/escritura, etc.) opté por cambiar al uso del puerto TCP:
python manage.py runfcgi daemonize=false method=threaded host=127.0.0.1 port=3033 pidfile=/home/.../mysite/mysite.pid
FastCGIExternalServer /.../wmldocs/mysite.fcgi -host 127.0.0.1:3033
La aplicación manejada por django se ve en http://subdominio.servidor.com/cel/mysite.fcgi/polls/
1 comentario:
Aunque esta configuración permite que FastCGI sea llamado desde un directorio distinto a DocumentBase, las referencias en las páginas servidas por Django tienen problemas.
En la entrada Django con Fast-Cgi II, corrijo este problema.
Publicar un comentario