Mam nową witrynę zbudowaną na Django i Pythonie 2.6, które wdrożyłem w chmurze (zgodność z buzzword I instancja Amazon micro EC2 jest darmowa!).
Oto moje szczegółowe notatki: https://docs.google.com/document/d/1qcZ_SqxNcFlGKNyp-CXqcFxXXsKs26Avv3mytXGCedA/edit?hl=en_USBezproblemowa instalacja Django na pojedynczym serwerze
Ponieważ jest to nowa strona (i chce grać w najnowsze i najlepsze) użyłem Nginx i Gunicorn na szczycie Inspektora.
Wszystkie oprogramowanie instalowane z bagażnika przy użyciu YUM/easy_install.
Moja baza danych to Sqlite (na razie - nie jestem pewien, gdzie pójść dalej, ale to nie jest pytanie). Również na liście zadań: virtualenv + pip.
Jak dotąd tak dobrze.
Mój kod w SVN. Napisałem prosty plik fabfile do wdrożenia - sprawdza najnowszy kod i restartuje Gunicorn przez Supervisora. Podłączyłem moją nazwę DNS do Elastic IP.
Działa.
Moje pytanie brzmi: jak zaktualizować witrynę bez zakłóceń w działaniu usługi? Użytkownicy witryny otrzymują 404s/500s, gdy uruchamiam mój mały skrypt aktualizacji.
Czy można to zrobić bez dodawania kolejnego serwera (cena jest kluczowa)?
Chciałbym mieć system pomostowy (na innym porcie?) I płynne przełączanie między etapami i produkcją. Na tym samym (bezpłatnym) serwerze. Via Fabric.
Jak to zrobić? Czy to samo Nginx działa na obu stronach? Czy mogę ulepszyć etapy bez ranienia produkcji? Jak wyglądałaby fabfile? Jak wyglądałoby drzewo katalogów?
Dzięki!
Tal.
pokrewne:
Dla każdego, kto czyta "EC2 Micro jest wolny": tak naprawdę nie jest (przynajmniej już nie jest). Jest on bezpłatny przez pierwsze 750 godzin, co stanowi w przybliżeniu 20 USD. kasuj inne [Oferty ASW bezpłatne] (http://aws.amazon.com/free/) .. – Stefano