Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Temas relacionados > Debates
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 31-03-2011
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Cita:
Empezado por D-MO Ver Mensaje
Lo he instalado incluso en cuentas compartidas en servidores web sin soporte para python, una belleza .
¿A qué te refieres con esto?

// Saludos
Responder Con Cita
  #2  
Antiguo 31-03-2011
Avatar de D-MO
D-MO D-MO is offline
Miembro
 
Registrado: ago 2005
Ubicación: root@debian:/#
Posts: 1.042
Poder: 20
D-MO Va por buen camino
Cita:
Empezado por roman Ver Mensaje
¿A qué te refieres con esto?
Interesante... ¿No?

Como sabemos, no todos tenemos la plata para pagar un servidor dedicado y muchas veces las aplicaciones no tendrán tanta demanda como para justificar este gasto. Ese es el punto fuerte de PHP, me atrevería a decir que todos los proveedores de hospedaje web compartido ofrecen soporte pare este. Con Python/Django la situación es otra .

Cualquier aplicación/script python puede correr en el servidor web de varias formas, mi favorita es FastCGI (aquí las demás).

Entonces, lo que necesitamos para tener django corriendo en un servidor web es, Python en el Servidor y soporta para FastCGI (en mi caso).

FastCGI es soportado casi en la mayoría de los servidores web, aquí el punto a favor.

Python está en casi todas las distribuciones linux desde que se instala, sin embargo, para instalar django es necesario agregar a nuestro "PYTHON_PATH" la ubicación tanto de Django, como de todos las herramientas adicionales que utilizaremos (reportlab, pil, etc) que de manera predeterminada no estarán en el servidor. El problema se presenta al momento de quered instalar estas herramientas, podemos hacerlo manual, agregando una a una las ubicaciones de estos paquetes dentro de el archivo de arranque del fastcgi, pero sería un trabajo sucio.

La solución a esto es:

Primero: Compilar los fuentes de Python e instalarlo dentro de la carpeta de usuario en el servidor, así tendríamos una instalación privada de python. En mi caso fué muy fácil gracias a que en esta cuenta tengo acceso vía ssh, pero pienso que igual podría compilarlo en local y cargarlo al servidor.

Compilados los fuentes, podemos instalar cualquier paquete python, descargamos los fuentes de estos y ejecutamos /home/<user>/bin/python setup.py install. Este comando instalará el paquete en la ruta de nuestro python, no el que tenía el servidor. Así instalamos django y cualquier otro que necesitemos.

Segundo: Como tenemos soporte fastcgi, tenemos que crear un archivo en nuestro directorio cgi-bin (el comun en servidores compartidos), llamémosle "cargadorfcgi.py", con el siguiente contenido:

Código:
#!/home/<user>/bin/python

import sys, os

os.environ['DJANGO_SETTINGS_MODULE'] = "djangoproject.settings"

from django.core.servers.fastcgi import runfastcgi
runfastcgi(method="threaded", daemonize="false")
Importante la primera línea, pues indicames en que ubicación está el interprete de este código, así el FastCGI ejecutará el archivo y el SO lo pasará a nuestro interprete.

Luego indicamos en la tercera línea el módulo que deberá cargar con la configuración del proyecto.

y sobreescribimos la url para que todas las peticiones a la raiz sean enviadas al fastcgi, quedando el .htaccess de esta manera (no soy ningun experto en esto, quizá se pueda mejorar)
Código:
RewriteEngine On
RewriteBase /
RewriteRule ^(media/.*)$ - [L]
RewriteCond %{REQUEST_URI} !(cgi-bin/cargadorfcgi.py)
RewriteRule ^(.*)$ cgi-bin/cargadorfcgi.py/$1 [L]
En sí esta es la idea, puede mejorarse... ¡¡Y mucho!!, pero la base acá está. No he tenido ningún problema con ello y lleva funcionando desde el 13 de septiembre del 2010 (ls -F ./cgi-bin)

Espero que sirva de algo.

Saludos Cordiales
Responder Con Cita
  #3  
Antiguo 31-03-2011
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Joder! Mira todo lo que había detrás de una frasesita

Es lo bueno de este tipo de hilos; que resultan muy iluminadores. Mira que yo me hubiera ido de frente con mod_python Viendo el enlace que pones, aun cuando en mi caso sí podría acceder a la configuración del servidor, me entero que no es la mejor opción.

// Saludos

Última edición por roman fecha: 22-10-2014 a las 07:17:44. Razón: Una horrible falta de ortografía
Responder Con Cita
  #4  
Antiguo 31-03-2011
Avatar de D-MO
D-MO D-MO is offline
Miembro
 
Registrado: ago 2005
Ubicación: root@debian:/#
Posts: 1.042
Poder: 20
D-MO Va por buen camino
Cita:
Empezado por roman Ver Mensaje
Joder! Mira todo lo que había detrás de una fracesita
Jejejejeje ... A veces no hay inspiración para escribir

Cita:
Empezado por roman Ver Mensaje
...aun cuando en mi caso sí podría acceder a la configuración del servidor...
Yo también tengo acceso a mi servidor, pero hay ocasiones en que el cliente no dispone de ello, es allí donde salen estos "truquitos".

mod_python no lo he utilizado nunca, ni siquiera en local pues desde que uso Django leí esta información en el enlace que cito.

Saludos.
Responder Con Cita
  #5  
Antiguo 31-03-2011
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
D-MO:

No sé si ya lo mencionaste. ¿Con que motor de datos has trabajado con python?

// Saludos
Responder Con Cita
  #6  
Antiguo 31-03-2011
Avatar de D-MO
D-MO D-MO is offline
Miembro
 
Registrado: ago 2005
Ubicación: root@debian:/#
Posts: 1.042
Poder: 20
D-MO Va por buen camino
Cita:
Empezado por roman Ver Mensaje
D-MO:

No sé si ya lo mencionaste. ¿Con que motor de datos has trabajado con python?

// Saludos
Creo que no lo he mencionado, desarrollo lo trabajo con sqlite3 pues para que sobrecargar mi pobre máquina (que ya no dá para mas) con un servidor "activo" mientras desarrollo. Al finalizar una aplicación o querer probarla con otro motor de bd, hago lo siguiente:

Con el sistema funcionando con slqite3, descargo la información (registros en la bd) con la que he trabajado para no tener que volver a llenar la nueva bd a mano.
Código:
python manage.py dumpdata > dump_XXX.json
Luego edito el settings.py para indicar la conexión a la otra bd (MySQL, PostgreSQL). Seguido hago el proceso de instalación de mis modelos en la bd:

Código:
python manage.py syncdb
Y por último, cargo a la nueva bd la información que saqué de la otra (sqlite3):

Código:
python manage.py loaddata dump_XXX.json
Y listo, con esto tengo toda la información con otro motor de bd.

Pero respondiendo a tu pregunta, en desarrollo siempre uso sqlite3, en producción he usado MySQL (mas que todo en cuentas compartidas que no proveen soporte a PostgreSQL) y una o dos con PostgreSQL.

Acá en el trabajo tengo una aplicación funcionando con sqlite3, no tiene mucha demanda y ha funcionado muy bién.

Para la aplicación que planteo acá pretendo usar PostgreSQL, aunque si la llego a desarrollar, al liberarla (planeo hacerlo bajo la licencia BSD) sabemos que podrá utilizarse con cualquier motor soportado por Django.

Saludos.
Responder Con Cita
  #7  
Antiguo 31-03-2011
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
¡Guau! ¿¡Así de transparente es el cambio!?

Este sólo mensaje tuyo debería bastar a cualquiera para probar el framework!

// Saludos
Responder Con Cita
  #8  
Antiguo 31-03-2011
Avatar de Chris
[Chris] Chris is offline
Miembro Premium
 
Registrado: abr 2007
Ubicación: Jinotepe, Nicaragua
Posts: 1.678
Poder: 19
Chris Va por buen camino
Para una guía detallada, puedes también leer el capitulo dedicado a los lanzamientos de proyectos Django del libro de Django

Pero volviendo un poco al tema del hilo, en síntesis que opinan sería lo mejor para hoy y el futuro. Teniendo en cuenta los nuevos modelos de distribución SaaS y la nube.
__________________
Perfil Github - @chrramirez - Delphi Blog - Blog Web
Responder Con Cita
  #9  
Antiguo 31-03-2011
Avatar de D-MO
D-MO D-MO is offline
Miembro
 
Registrado: ago 2005
Ubicación: root@debian:/#
Posts: 1.042
Poder: 20
D-MO Va por buen camino
Cita:
Empezado por Chris Ver Mensaje
...libro de Django
Una fuente de información muy buena, complementa la documentación de django. Hay algunas cosas desactualizadas pues está escrito para la versión 1.0 de django (ya va por la 1.3) pero si hay buena información.

Cita:
Empezado por Chris Ver Mensaje
...en síntesis que opinan sería lo mejor para hoy y el futuro. Teniendo en cuenta los nuevos modelos de distribución SaaS y la nube.
Por las cosideraciones a tomar según esta frase, de las opciones que dás, opino que django.
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Querys en DataSnap juank1971 Conexión con bases de datos 10 15-07-2014 13:04:55
Error en insercion con Datasnap rruffino SQL 3 16-03-2010 17:38:02
Comom saber si tengo instalado lamp Faust Linux 3 16-01-2009 02:07:00
Turotial datasnap Osorio Providers 2 20-09-2006 13:36:10
Midas y DataSnap Toni Providers 1 09-07-2003 18:30:47


La franja horaria es GMT +2. Ahora son las 11:31:19.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi