2008-09-22 13 views
12

Ich habe folgende Anleitungen wie this one versucht, aber es hat einfach nicht funktioniert für mich.Bereitstellen von Django: Wie machst du das?

Also meine Frage ist das: Was ist ein guter Leitfaden für die Bereitstellung von Django, und wie Sie Ihre Django bereitstellen.

Ich höre, dass capstrano ist ziemlich geschickt zu verwenden, aber ich habe keine Ahnung, wie es funktioniert oder was es tut (abgesehen von Automatisierung der Bereitstellung von Code), oder sogar wenn ich will/muss es verwenden oder nicht.

Antwort

-2

Der einfachste Weg, eine der Seiten, auf http://djangofriendly.com/hosts/ zu verwenden wäre, dass das Hosting und eingerichtet für Sie zur Verfügung stellen, aber selbst wenn Sie wollen Rollen Sie Ihr eigenes, damit Sie sehen können, welche Einrichtung andere Websites verwenden.

7

mod_wsgi in Kombination mit einem virtualenv für alle Abhängigkeiten, eine Quecksilber-Kasse in das virtualenv und ein fabric Rezept die Änderungen auf dem Server zu überprüfen.

Ich schrieb einen Artikel über meinen üblichen Workflow: Deploying Python Web Applications. Ich hoffe, das hilft.

+0

Weitere Einzelheiten zu Stoff kommt: http://stackoverflow.com/questions/12336 55/Was ist der einfachste Weg zu ssh-using-python – hughdbrown

+1

+1 für mod_wsgi und virtualenv, würde auch virtualenvwrapper, pip, und eine Pip-Anforderungsdatei für den Umgang mit Abhängigkeiten empfehlen. – ken

+1

Link ist kaputt, Update? – super9

1

In meiner vorherigen Arbeit hatten wir echte Genie Kerl auf Deployment-Aufgaben, er stellte Anwendung (Python, SQL, Perl und Java-Code) als Set von Deb-Dateien für Ubuntu gebaut. Leider habe ich jetzt keine solche Unterstützung. Wir implementieren Apps manuell in virtualenv-ed-Umgebungen mit separaten nginx-Konfigurationen für FastCGI. Wir verwenden paver für die Bereitstellung auf Remote-Servern. Es ist schmerzhaft, aber es funktioniert.

0

ich mod_python und habe jeden Standort in einer Git-Repository mit der folgenden subdirs:

  • mysite
  • Vorlage
  • Medien

Ich habe mysite/settings.py in .gitignore und Arbeit so:

  1. tun Entwicklung auf meinem lokalen Rechner
  2. auf Webserver Remote-Repository erstellen
  3. meine Änderungen Push Repo
  4. einrichten Apache vhost config-Datei, zwicken Live-Server settings.py
  5. laufen git checkout && git reset --hard && sudo /etc/init.d/apache2 restart auf Webserver Repo Webserver erhalten up-to-date-Version seiner Arbeitskopie und starten Sie apache
  6. wiederholen die Schritte 1, 3 und 5, wenn Anforderungswechsel