2011-01-31 42 views
11

Ho provato a cercare la soluzione alla mia domanda ma senza fortuna. Ho creato un sito Web usando django nella mia macchina locale. Ora voglio installare lo stesso sito Web django in un'altra macchina. MySQL è il database che sto usando. Come posso spostare il sito Web di django locale su un'altra macchina? Se questa domanda è già stata messa in discussione, le mie scuse.Come spostare un sito django locale su un'altra macchina?

risposta

14

Per impostare lo stesso sito Django su una macchina diversa, si può semplicemente copiare il codice attraverso. Quando provi ad eseguirlo, riceverai errori se qualcosa non è impostato correttamente e puoi risolverlo uno per uno. Alcuni errori che si possono ottenere sono:

  1. Assicurarsi che Python è installato sul nuovo box
  2. Assicurarsi Django ed eventuali altre dipendenze sono installati
  3. È necessario installare e configurare MySQL una banca dati sulla nuova macchina
    • i dettagli per il database (nome, utente, password) sarà nel file di settings.py del progetto
    • se l'host del database non è localhost o 127.0.0.1, sarà devi pensare a dove mettere il nuovo database
  4. Assicurati di aver impostato un URL che punti nella nuova casella, a meno che non sia solo per lo sviluppo (nel qual caso puoi utilizzare il server di sviluppo integrato di Django tramite manage.py runserver)
  5. Controlla che apache/server di scelta è corretta

Tutti questi passaggi dovrebbero essere semplicemente ripetere cose che hai fatto sulla vecchia macchina.

Se si dispone di una macchina "dev" e una macchina di "produzione", è necessario prendere in considerazione soluzioni di distribuzione che automatizzano gran parte di questo processo. Dovresti anche inserire il codice nel controllo di versione se non lo è già (Git, mercurial, subversion) in modo da poter gestire le modifiche all'origine da entrambe le posizioni.

Se si desidera che lo sia lo stesso sito su entrambe le macchine (quindi le modifiche a uno si visualizzano sull'altro) si sta probabilmente parlando di "bilanciamento del carico".Dovrai configurare un altro server in grado di delegare le richieste a queste due macchine e indirizzarle entrambe nello stesso database.

+0

Quindi vuoi dire che devo popolare il database nella nuova macchina con il dump sql dalla mia macchina locale. – consumer

+0

sì, se vuoi che i database inizino uguali! Se si desidera che entrambi i siti * abbiano * sempre lo stesso database, è possibile puntare entrambi sullo stesso computer. Invece di '127.0.0.1' /' localhost' uno o entrambi dovranno puntare su 'altrove '. – adamnfish

+1

Nella mia programmazione quotidiana faccio questo genere di cose con i miei set di script Fabric in modo da poter eseguire attività ripetitive senza errori stupidi/errori di battitura e senza perdere tempo. È molto semplice impostare il pull del database e gli script push con fabric e lo consiglio vivamente a tutti :) –

3

Questo è chiamato "distribuzione". Ci sono molti modi per farlo, alcuni dei quali sono documentati allo http://docs.djangoproject.com/en/dev/howto/deployment/. C'è anche http://djangobook.com/en/2.0/chapter12/ che fornisce alcune informazioni più generali. Il tuo percorso dipenderà da ciò che il tuo attuale server supporta/fornisce.

Si consiglia di utilizzare quelli come punti di partenza e quindi segnalare i problemi qui in modo che possiamo risolverli.

Aggiornamento: I passaggi effettivi necessari per distribuire l'applicazione (cioè farlo funzionare sul server di vivere) dipende dal vostro fornitore di servizi. I passaggi in generale sono la configurazione del server web per servire l'applicazione, impostare il database con i valori corretti e avviare il server web. I passaggi effettivi su come eseguire questa operazione dipendono dal server (quali server Web frontali utilizzano, come è possibile modificarne la configurazione, è condiviso o un VPS, hai accesso alla shell, ecc.). Ecco un esempio di come lo faresti su webfaction (un popolare provider di hosting condiviso python).

http://docs.webfaction.com/software/django/getting-started.html

+0

Non ho capito bene anche adesso. Quelle pagine mi hanno solo guidato a spostare il sito django creato nel server di sviluppo sul server di produzione. Sono ancora confuso su cosa dovrei fare per eseguire lo stesso sito su un'altra macchina. Devo iniziare a creare lo stesso progetto su un'altra macchina da zero e copiare i file in un secondo momento? – consumer

+0

Dipende dal server. Ho aggiornato la risposta con alcune note. –

Problemi correlati