Domanda

Sto creando un progetto Django che verrà utilizzato da più domini, e la funzionalità sarà leggermente diverso a seconda del dominio. Sto cercando consigli sul modo corretto di impostare questa funzione.

Il siti sembra che sarebbe una buona misura per fare un po 'di le personalizzazioni volta di elaborazione ha raggiunto il punto in cui è in esecuzione il codice Django. Ma sto cercando di determinare ciò che la messa a punto dovrebbe essere prima di raggiungere quel punto (relativo alla nginx, flup, FastCGI, config).

Questa è la mia comprensione corrente:

Sembra più file Django impostazioni siano appropriate, ciascuno con un diverso SITE_ID. Poi due ospiti virtuali sarebbe indicata nella configurazione nginx che indicherebbe due prese differenti. Due 'runfastcgi manage.py' processi sarebbe quindi essere utilizzato per l'ascolto su queste due prese differenti e ciascun processo sarebbe riferimento a una diversa settings.py

./manage.py --settings=settings.site1.py runfcgi method=prefork socket=/home/user/mysite1.sock pidfile=django1.pid
./manage.py --settings=settings.site2.py runfcgi method=prefork socket=/home/user/mysite2.sock pidfile=django2.pid

Tuttavia, sembra che questo potrebbe essere un casino, se si aggiungono altri domini. Sarebbe necessario un nuovo 'gestire runfastcgi' processo da eseguire per ogni dominio che sarebbe aggiunto. Esiste un modo per sostenere più siti in questo modo, senza l'esecuzione di un processo separato per ciascuna?

Quali sono le vostre esperienze con hosting di più domini con Django?

Ogni consiglio è molto apprezzato. Grazie per la lettura.

Joe

È stato utile?

Soluzione

Se avete intenzione di avere un sacco di domini in esecuzione, un processo per ogni dominio potrebbe ottenere abbastanza costosi. Il quadro siti è stato originariamente realizzato con un altro caso d'uso in mente: essere in grado di creare facilmente contenuti "duplicato" su diversi siti di notizie. Quando si tenta di utilizzare il quadro siti per altri usi si esegue in diverse difficoltà.

Una possibilità è quella di spostare l'elaborazione dominio a un middleware e hanno Django gestire la parte multidominio. E 'anche se non banale, specialmente se si deve modificare le applicazioni per essere consapevoli del dominio, e anche urlconfs, modelli, ecc ... Una ricerca rapida di Google si presentò:

http://djangosnippets.org/snippets/1119/

potrebbe aiutare come punto di partenza.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top