Dieser Artikel beschreibt das Starten und Bereitstellen einer ** Django ** -Anwendung in der Alibaba Cloud.
Dieser Blog ist eine Übersetzung aus der englischen Version. Sie können das Original von [hier] überprüfen (https://www.alibabacloud.com/blog/deploy-django-application-on-alibaba-cloud_595833). Einige maschinelle Übersetzungen werden verwendet. Wir würden uns freuen, wenn Sie auf Übersetzungsfehler hinweisen könnten.
Als erste Voraussetzung virtualenv und [virtualenv wrapper](https: // virtualenvwrapper) für Python-basierte Anwendungen Sie müssen .readthedocs.io / de / latest /? Spm = a2c65.11461447.0.0.28a16cabOLprE3) installieren, um eine separate Umgebung für Ihr Python-Projekt zu erstellen. Führen Sie dazu die folgenden Schritte aus.
pip
sudo apt-get install python-pip
--Installation von virtualenv
sudo pip install virtualenv
--Erstelle ein "Verzeichnis" zum Speichern von virtuellen Umgebungen.
mkdir ~/.virtualenvs
--Installation von virtualenvwrapper
sudo pip install virtualenvwrapper
WORKON_HOME
in das Verzeichnis virtualenvexport WORKON_HOME=~/.virtualenvs
virtualenvwrapper.sh
zu .bashrc
hinzu.
Fügen Sie diese Zeile am Ende von ~ / .bashrc
hinzu, damit der Befehl virtualenvwrapper
geladen wird./usr/local/bin/virtualenvwrapper.sh
Beenden Sie die Shell und öffnen Sie sie erneut, oder laden Sie .bashrc
mit dem Befehl .bashrc
oder source ~ / .bashrc
neu, und Sie können loslegen.
apt-get install git
Sudo apt-get install nginx
Beginnen wir nun mit dem Einrichten und Starten der Alibaba Cloud ECS-Instanz.
Lassen Sie uns einen kurzen Blick auf die Schritte zum Ausführen einer ECS-Instanz mit der Alibaba Cloud Management Console werfen.
Nun müssen Sie den ** Instanztyp ** auswählen, den Sie erstellen möchten. Wählen Sie basierend auf Ihren Anforderungen den Generierungstyp für Ihre Instanz auf der Registerkarte ** Generierung ** aus. Generierungstypen stellen unterschiedliche Instanztypen dar, basierend auf der verwendeten Konfiguration und Rechenleistung.
Wählen Sie dann ** Netzwerktyp **, um die ECS-Instanz zu starten. Je nach Ihren Anforderungen kann es sich entweder um ** Classic Network ** oder um VPC handeln. In ** Classic Network ** weist Alibaba Cloud IP-Adressen dezentral zu. Geeignet für Benutzer, die einfaches und schnelles [ECS] benötigen (https://www.alibabacloud.com/en/product/ecs). ** VPC ** ist ein logisch isoliertes privates Netzwerk, das dedizierte Verbindungen unterstützt. Geeignet für Benutzer, die an komplexere Netzwerkverwaltungsprozesse gewöhnt sind.
Wählen Sie nach Bedarf den Typ ** Systemdatenträger ** aus dem Dropdown-Menü. Sie können auch auf ** Datenträger hinzufügen ** klicken, um einen Datenträger zu dieser Liste hinzuzufügen.
Im Abschnitt Sicherheitseinstellungen können Sie ein Kennwort für zusätzliche Sicherheit erstellen.
Überprüfen Sie die Konfigurationsdetails und den Gesamtpreis im Abschnitt ** Übersicht ** und klicken Sie auf ** Jetzt kaufen **.
Klicken Sie auf ** Aktivieren **, um Ihre Bestellung zu bestätigen und die Instanz zu starten.
Sobald die Instanz gestartet ist, können Sie sie auf der Registerkarte ** Instanzen ** der Konsole anzeigen.
[Alibaba Cloud Management Console](https://account.alibabacloud.com/login/login.htm?oauth_callback=https%3A%2F%2Fhome-intl.console.aliyun.com%2F%3Fspm%3Da2c65.11461447.0.0.28 Nachdem wir eine ECS-Instanz mit a16cabOLprE3 & lang = ja) erstellt und gestartet haben, sehen wir uns an, wie die Django-Anwendung installiert und bereitgestellt wird.
mkvirtualenv DjangoApp
Verwenden Sie Deaktivieren, um die neue virtuelle Umgebung zu beenden. Sie können jetzt mit Workon die Umgebung wechseln. Verwenden Sie den Befehl workon, um virtualenv zu laden und zu wechseln.
workon DjangoApp
pip install Django
django-admin startproject todoApp
cd todoApp/
python manage.py migrate
python manage.py createsuperuser
python manage.py runserver 0.0.0.0:8000
Sie können sehen, dass es auf Port 8000 wie folgt ausgeführt wird.
Sie können Ihre Anwendung verwalten, indem Sie zu Ihrem Admin-Bereich ** / admin ** gehen.
Verwenden Sie jetzt Nginx (https://www.nginx.com/?spm=a2c65.11461447.0.0.28a16cabOLprE3), um die Anwendung hinter dem Webserver zu platzieren.
python manage.py migrate
Python manage.py collectstatic --noinput
settings.py
im Projektverzeichnis definiert.1、STATIC_URL
2、STATICFILES_DIRS
3、STATIC_ROOT
pip install uWSG
Erstellen Sie eine ** ini ** -Datei, die zum Bereitstellen der Django-Anwendung verwendet werden soll.
vim uwsgi.ini
--Speichern Sie in uwsgi.ini
von application dir
. Informationen zum Schreiben einer INI-Datei finden Sie unter ** Python / WSGI-Anwendungs-Schnellstart **. Führen Sie den folgenden Befehl aus, um die Anwendung zu starten.
uwsgi uwsgi.ini (your ini file)
server { listen 80 default_server; listen [::]:80 default_server ipv6only=on; server_name localhost; location /static/ { include uwsgi_params; alias /root/todoApp/public/; } location / { include uwsgi_params; uwsgi_pass unix:/tmp/uwsgi.sock; } }
In diesem Artikel wurde beschrieben, wie eine Django-Anwendung in der Alibaba Cloud bereitgestellt wird. Zusammenfassend bestand der erste Schritt darin, eine ECS-Instanz mit Ubuntu als Betriebssystem zu starten und auszuführen und anschließend die Django-Anwendung auf dieser Instanz zu installieren und bereitzustellen. Beachten Sie, dass Sie als Teil der Voraussetzungen für dieses Lernprogramm die Bereitstellung abgeschlossen haben und über ein gültiges Alibaba Cloud-Konto verfügen müssen.
Im Folgenden finden Sie eine Liste der Produkte im Zusammenhang mit diesem Lernprogramm, mit denen Sie Ihre Django-Anwendung in Produktionsszenarien bereitstellen können.