2011-09-26 2 views
0

Imaginez que vous avez un projet principal de django qui accueille des logiciels pour différents locataires ->Comment héberger un logiciel multi-locataire sur Django?

Le logiciel sera hébergé sur ->www.tenantdomain.com

Le principal projet est hébergé sur ->www .ourdomain.com

Supppose le logiciel est accessible à cette adresse ->www.ourdomain.com/tenant_id/home/
cela devrait se traduire par ->www.tenantdomain.com/home/

How can one do that ?

Une chose, www.tenantdomain.com et www.ourdomain.com notre fois hébergé sur un serveur et les deux accès un base de données.

Répondre

1

La méthode Django pour cela vous donne deux choix.

Le moyen rapide serait d'héberger les différentes applications du locataire sur le même projet avec le Django sites framework. Ceci est utile si les applications partagent des données. Si ce n'est pas le cas, vous devez préciser ce que vous entendez par vos applications accédant à une base de données. "Une base de données" dans Django signifie un projet. Pour ce faire, cela signifie essentiellement que l'URL de proxy est tenant.com/{whatever} à yourapp.com/tenant/5/{whatever}. La manière la plus compliquée serait la séparation totale des applications de votre locataire pour séparer les instances de projet Django. Cela signifie déployer manuellement (ou par programme) chaque instance. Cette option nécessite plus de tâches sys-admin en arrière-plan, mais vous permet une flexibilité maximale. Plus important encore, chaque application est complètement séparée des autres, donc c'est le meilleur en termes de sécurité.

Questions connexes