Te pongo un capítulo de un tutorial de Django  disponible en 
http://www.maestrosdelweb.com/editorial/curso-django-despliegue-en-el-servidor-web/
 
Personalmente yo no le he hecho completo pero este tute está muy bueno, yo lo 
tengo en PDF pesa 12 MB (dirección para descargarlo 
http://www.maestrosdelweb.com/guias/#guias-django)

DESPLIEGUE DEL SERVIDOR WEB
Existen muchas formas de llevar un proyecto de Django a producción y justamente 
es 
uno de los motivos que generan mayor confusión. La documentación del proyecto 
para 
el despliegue de Django nos sugiere tres formas:
1 Usando WSGI
2  Usando FastCGI, SCGI o AJP
3  mod_python (obsoleto)4
De estas tres opciones, he visto por conveniente usar la primera de ellas 
(WSGI), me 
parece más simple de replicar sin entrar en mucho detalle. Sin embargo no sólo 
es eso, 
también existen otras tres opciones para trabajar con WSGI, estas son:
Apache y mod_wsgi
 uWSGI
 Gunicorn

Y de la misma manera elegí la primera, Apache es un servidor que muchos han 
instalado 
previamente y que de seguro, ya saben hacerlo y configurarlo independientemente 
del 
sistema operativo que usen, si no lo sabes hacer aún, hay mucha información en 
Internet 
de como hacerlo, te comparto un vídeo que te puede servir: Installing LAMP On 
Ubuntu.

Es necesario que tengas por lo menos conocimientos básicos de como levantar un 
servidor Apache, un poco de virtualhost y como configurarlo para que puedas 
abrir 
otros puertos, si no sabes estos temas puedes saltarte a la parte de 
proveedores o 
tomar una pausa en el curso para aprender un poco más de lo que te he 
mencionado y 
entiendas mejor lo que sigue.

CONFIGURACIÓN EN EL SERVIDOR
Una vez con Apache corriendo, para nuestro ejemplo vamos a usar el puerto 90, 
para 
ello debemos asegurarnos tener, en nuestro httpd.confla línea:
Listen 90
Luego es necesario tener instalado y activado mod_wsgipara que trabaje con 
Apache, 
de la misma manera, si no sabes hacerlo, es sencillo buscar más información 
sobre esto 
por Internet, no te tomará mucho tiempo.
Adicionalmente también debes tener la siguiente línea en nuestro httpd.conf:
WSGIPythonPath /ruta_del_directorio_del_proyecto/recetario/

Es la ruta absolutade tu directorio del proyecto (ese directorio que tiene el 
manage.py), si usas 
Windows no olvides que la ruta debe ir entre comillas para evitar 
inconvenientes, algo como:
WSGIPythonPath "letra://ruta_del_directorio_del_proyecto/recetario/"
Una vez con estas dos líneas configuradas, es momento de crear nuestro 
virtualhost, 
debe quedar de la siguiente manera (ver imagen adjunta):


Si se dan cuenta hay dos alias uno para static y el otro para media, aquí una 
aclaración, 
se recomienda utilizar un servidor web diferente para servir los archivos 
estáticos 
(static y media), es por ello que para eso Django puede funcionar usualmente 
con:
 1. Nginx
2.  lighttpd
 3. TUX web server
 4. Cherokee

Pero, para no hacer complejo este capítulo, vamos a usar el mismo Apache para 
este 
propósito, por eso declaré dos alias y dos directorios más en el virtualhost, 
como se 
puede ver en la imagen anterior.
Ahora es momento de cambiar las configuraciones de nuestro proyecto, 
necesita-mos poner rutas absolutas, para que todo se enlace correctamente. 
Abrimos nuestro 
archivo settings.py y modificamos las siguientes líneas:
DEBUG = False
En el nombre de la base de datos, se debe incluir la ruta absoluta completa, 
así (en 
Windows debe ir entre comillas, no lo olvides):
'NAME': '/ruta_del_directorio_del_proyecto/recetario/recetario.db',
El media url debe ir así:
MEDIA_URL = 'http://localhost:90/media/'
El static url debe ser así:
STATIC_URL = 'http://localhost:90/static/'
Como el modo de depuración esta desactivado (DEBUG = False), necesitamos dos 
plan-tillas más, una que maneje el error 404 y otra el error 500, sus nombres 
deben ser: 
404.htmly 500.html........



-- 
Este mensaje ha sido analizado por MailScanner
en busca de virus y otros contenidos peligrosos,
y se considera que está limpio.

______________________________________________________________________
Lista de correos del Grupo de Usuarios de Tecnologías Libres de Cuba.
Gutl-l@jovenclub.cu
https://listas.jovenclub.cu/cgi-bin/mailman/listinfo/gutl-l

Responder a