Jak skonfigurować stronę Django w hostingu Amazon EC2?

Czy ktoś może podać konkretne kroki jak zaimplementować hosting strony internetowej opartej na Django za pomocą usługi hostingowej Amazon EC2?

Czy to możliwe?

Mój kod źródłowy strony można znaleźć tutaj

I goolged and found this article

Ale zanim cokolwiek zrobię, chcę uzyskać kilka podstawowych pomysłów na hosting Amazon EC2.

Author: CodeYun, 2009-10-28

4 answers

Z pewnością jest to możliwe, ale wygląda na to, że EC2 nie jest najlepszym rozwiązaniem dla Ciebie. Aby zobaczyć przykłady ludzi, którzy to robią, poszukaj w google "django ec2" i sprawdź pierwszy i drugi link. Linki takie jak this lub this (edytowane, ponieważ to pytanie jest teraz najlepszym wynikiem google dla tego zapytania!)

W bardzo uproszczonym sensie, EC2 jest tylko serwerem, który można wynająć na godzinę. Możesz uruchomić windows lub linux, a następnie zainstalować python i django jak ty normalnie. W rzeczywistości prawdopodobnie istnieje obraz, który ma już wstępnie skonfigurowane django. Na jakim etapie projektu jesteś? Tylko badam, czy utknąłeś na konkretnym problemie z django lub ec2?

Aktualizacja: Ok, myślę, że jesteś zdezorientowany tym, że istnieją różne rodzaje hostingu. W jednej skrajności możesz zapłacić za własny serwer fizyczny, zainstalować własny system operacyjny( jak windows lub linux), zainstalować własny python, posiadasz serwer WWW jak apache lub IIS, własne biblioteki django, własną bazę danych (jak mysql) itp., a następnie przesyłasz do niego swoją stronę internetową. Na drugim krańcu możesz zapłacić za konto w usłudze hostingu współdzielonego, gdzie ktoś inny zrobił całą konfigurację systemu operacyjnego, Pythona, serwera www itp., a wszystko, co musisz zrobić, to przesłać kod witryny sieci web. EC2 jest o wiele bliżej pierwszego ekstremum i prawdopodobnie jest dla Ciebie przesadą. Myślę, że w Twoim przypadku powinieneś szukać bardziej zarządzane rozwiązanie.
Chciałbym sprawdzić tę stronę, która zawiera listę różnych firm hostingowych django: Django hosting

 31
Author: Peter Recore,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2011-02-11 16:21:37

Inną opcją dla Ciebie, jeśli nie chcesz zajmować się konfigurowaniem serwera od podstaw jest użycie BitNami Django stack Amazon image . Jestem programistą BitNami i pracowałem nad tworzeniem stosów dla kilku aplikacji Pythona. Stos Bitnami Django zawiera już MySQL 5.1, Apache 2.2 (z mod_wsgi) i Python z zainstalowanym MarkDown, html5lib i python-openid. Zawiera również django 1.3.

Będziesz musiał zainstalować Django Debug Toolbar, utworzyć bazę danych i skopiuj swoje pliki w /opt / bitnami/apps/django / django_projects i uruchom Pythona manage.py polecenia. Następnie będziesz musiał skonfigurować apache na serwer twojego projektu, jeśli chcesz użyć go w produkcji (zamiast serwera django).

Zanim spróbujesz wdrożyć aplikację bezpośrednio w chmurze, możesz użyć natywnych instalatorów i przetestować wdrożenie na komputerze lokalnym.

Posiadamy również narzędzie do szacowania kosztów . To jest tylko dla uzyskania szorstki pomysł na prosty Konfiguracja EC2 / EBS, Amazon nie zawsze jest tak drogi, jak można się spodziewać, chociaż zależy to od wielu czynników. (Chociaż według twoich komentarzy wydaje się, że już przyjrzałeś się kosztom).

 8
Author: kaysa,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2011-11-13 21:03:02

Załóżmy, że używasz serwera Apache na swojej instancji, oficjalna instrukcja na stronie Django działa lepiej niż wiele postów na blogu. Oto co skopiowałem z linku: https://docs.djangoproject.com/en/1.5/howto/deployment/wsgi/modwsgi/

Zapraszamy do zapoznania się z naszą ofertą./ align = "left" /
WSGIScriptAlias / /path/to/mysite.com/mysite/wsgi.py
WSGIPythonPath /path/to/mysite.com

<Directory /path/to/mysite.com/mysite>
<Files wsgi.py>
Order deny,allow
Require all granted
</Files>
</Directory>
 2
Author: Yulun,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2013-10-30 19:20:13

Prowadziłem własną stronę django na AWS EC2 t2.wystąpienie mikro (AWS Free tier). Do tego projektu użyłem Django 1.9 i MySQL jako bazy danych. Utwórz tunel SSH do swojej instancji i wykonaj następujące czynności:

  1. W tym celu należy zainstalować Apache2 i libapache2-mod-wsgi na swojej instancji:

    sudo apt-get install apache2 libapache2-mod-wsgi

  2. Zainstaluj django na swojej instancji:

    sudo pip install django

  3. Zainstaluj mysql:

    sudo apt-get install mysqldb

    sudo pip install mysql-python

    sudo apt-get install libmysqlclient-dev

(jeśli nie masz zainstalowanego Pipa : sudo apt-get install python-pip)

  1. Skonfiguruj mysql dla Twojego projektu django. Zaimportuj swój projekt django do /var/www/html. (używanie Gita jest najlepszym sposobem).

  2. Edit /etc/apache2/sites-available/000-default.conf:

    <VirtualHost *:80>
        Alias /static /path_to_my_static_folder
    
        <Directory /path_to_my_project_folder_containing_wsgi.py>
            <Files wsgi.py>
                Require all granted
            </Files>
        </Directory>
    
        WSGIDaemonProcess project_name python-path=/path_to/lib/python2.7/site-packages
    
        WSGIProcessGroup project_name
        WSGIScriptAlias / /path_to_wsgi.py
    </VirtualHost>
    
  3. Uruchom migrate do sync db:

    python manage.py migrate

  4. Restart apache2:

    sudo service apache2 reload

Mam nadzieję, że nie zakodowałeś Twój szablon i statyczne ścieżki w settings.py, jeśli tak, to zmień go na dynamic path, lub odpowiednio zmodyfikuj.

To jest to! Odwiedź swój publiczny adres IP lub DNS, aby uzyskać dostęp do swojej strony Django hostowanej na instancji AWS EC2.

Proszę skomentować poniżej, Jeśli pojawi się jakiś błąd.

 1
Author: Rishabh Agrahari,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-06-15 17:16:20