[PYTHON] So stellen Sie eine Django-Anwendung in der Alibaba-Cloud bereit

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.

Voraussetzungen

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.

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
export WORKON_HOME=~/.virtualenvs
/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.

  1. Installieren Sie git.
apt-get install git
  1. Installieren Sie Nginx als Webserver und lassen Sie Anwendungen dahinter laufen.
Sudo apt-get install nginx

Verfahren

Beginnen wir nun mit dem Einrichten und Starten der Alibaba Cloud ECS-Instanz.

Starten der ersten Linux-Instanz

Lassen Sie uns einen kurzen Blick auf die Schritte zum Ausführen einer ECS-Instanz mit der Alibaba Cloud Management Console werfen.

  1. Melden Sie sich in Ihrem Konto und im Abschnitt ** Produkte & Dienstleistungen ** unter Elastic Compute Service (https://account.alibabacloud.com/login/login.htm?oauth_callback=https%3A%2F%2Fecs.console) an. Gehen Sie zu aliyun.com% 2F% 3Fspm% 3Da2c65.11461447.0.0.28a16cabOLprE3 & lang = ja). Klicken Sie im Seitenleistenmenü auf ** Übersicht **. Eine Liste der Instanzen, die bereits ausgeführt werden, wird angezeigt. Klicken Sie auf ** Instanz kaufen **, um eine Instanz aus einer beliebigen Region zu kaufen, oder fahren Sie mit dem nächsten Schritt fort, um eine neue Instanz zu erstellen.

image.png

  1. Klicken Sie im Seitenleistenmenü auf ** Instanzen **. Wählen Sie die gewünschte Region in der Instanzliste aus und klicken Sie oben rechts auf Instanz erstellen (https://www.alibabacloud.com/help/ja/doc-detail/92990.html).

image.png

  1. ** Produktkauf ** Sie werden zur Konsole weitergeleitet, sodass Sie das gewünschte Paket auswählen müssen, aber die Option ** Schnellstart ** (die Sonderpreise für ECS-Instanzen und Datenübertragungen bietet). Oder Sie können eine der Optionen ** Benutzerdefinierter Start ** auswählen (mit zwei verschiedenen Preismodellen). Insbesondere können Sie je nach Bedarf wählen, ob Sie monatlich oder jährlich oder nach Belieben bezahlen möchten. In diesem Tutorial haben wir ** Pay-As-You-Go ** als Abrechnungsmethode ausgewählt.

image.png

  1. Wählen Sie in diesem Fenster ** Datacenter Region ** und ** Zone ** aus, um die ECS-Instanz zu starten. Wenn Sie ** Region ** und nicht ** Zone ** auswählen, wird die Instanz in einer zufälligen Zone platziert.

image.png

  1. 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.

  2. 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.

image.png

  1. Nun müssen Sie ** Betriebssystem ** auswählen. Unter jeder Option befindet sich eine Liste verschiedener Betriebssystemversionen. Wählen Sie die Option ** Ubuntu **.

image.png

  1. 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.

  2. Im Abschnitt Sicherheitseinstellungen können Sie ein Kennwort für zusätzliche Sicherheit erstellen.

image.png

  1. Geben Sie im Abschnitt ** Kaufplan ** einen Namen für die Instanz ein und legen Sie die Anzahl der zu startenden Instanzen fest.

image.png

  1. Überprüfen Sie die Konfigurationsdetails und den Gesamtpreis im Abschnitt ** Übersicht ** und klicken Sie auf ** Jetzt kaufen **.

  2. Klicken Sie auf ** Aktivieren **, um Ihre Bestellung zu bestätigen und die Instanz zu starten.

  3. Sobald die Instanz gestartet ist, können Sie sie auf der Registerkarte ** Instanzen ** der Konsole anzeigen.

image.png

Installieren und Bereitstellen von Django-Anwendungen

[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.

  1. Melden Sie sich mit SSH-Befehlen beim Server an.

image.png

  1. Geben Sie Ihr Passwort ein.

image.png

  1. Erstellen Sie eine neue virtuelle Umgebung und richten Sie die Umgebung für die Bereitstellung der Django-Anwendung ein.
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 
  1. Installieren Sie Django in Ihrer aktuellen Umgebung.
pip install Django
  1. Erstellen Sie mit dem Befehl django-admin ein ** Beispielprojekt ** und ändern Sie das Verzeichnis in den Projektordner.
django-admin startproject todoApp
cd todoApp/
  1. Migrieren oder booten Sie die Datenbank.
python manage.py migrate 
  1. Erstellen Sie einen Superuser, um auf das Admin-Panel zuzugreifen.
python manage.py createsuperuser
  1. Testen Sie nach der Konfiguration des Benutzers die Anwendung, indem Sie den von manage.py verarbeiteten Befehl runerver ausführen.
python manage.py runserver 0.0.0.0:8000

Sie können sehen, dass es auf Port 8000 wie folgt ausgeführt wird.

image.png

Sie können Ihre Anwendung verwalten, indem Sie zu Ihrem Admin-Bereich ** / admin ** gehen.

image.png

Verwenden Sie jetzt Nginx (https://www.nginx.com/?spm=a2c65.11461447.0.0.28a16cabOLprE3), um die Anwendung hinter dem Webserver zu platzieren.

  1. Erstellen Sie ein Datenbankschema und aktivieren Sie die Python-Umgebung. Sie können dies tun, indem Sie die folgenden Schritte ausführen.
  python manage.py migrate
  1. Sammeln Sie alle statischen Dateien, einschließlich CSS- und JS-Dateien. Sie können dies tun, indem Sie die folgenden Schritte ausführen. image.png
Python manage.py collectstatic --noinput

1、STATIC_URL 2、STATICFILES_DIRS 3、STATIC_ROOT

image.png

  1. Installieren Sie die ** uwsgi ** -Bibliothek und starten Sie den Server mit dem ** uwsgi-Server **. Sie können dies tun, indem Sie die folgenden Schritte ausführen.
 pip install uWSG

Erstellen Sie eine ** ini ** -Datei, die zum Bereitstellen der Django-Anwendung verwendet werden soll.

 vim uwsgi.ini

image.png

--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)
  1. Ändern Sie die Nginx-Konfigurationsdatei, die die Anwendung bereitstellt.
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; } } 
  1. Nach dem Neustart von nginx wird die Anwendung hinter nginx auf Port 80 ausgeführt.

image.png

Fazit

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.

Recommended Posts

So stellen Sie eine Django-Anwendung in der Alibaba-Cloud bereit
So stellen Sie eine Webanwendung in der Alibaba Cloud als Freiberufler bereit
So stellen Sie eine Django-App in nur 5 Minuten für Heroku bereit
So stellen Sie eine Streamlit-Anwendung für GCP (GAE) bereit
Stellen Sie die Django-Anwendung in Google App Engine (Python3) bereit.
So erstellen Sie eine Django (Python) -Umgebung auf Docker
So stellen Sie eine Go-Anwendung auf einer ECS-Instanz bereit
So führen Sie Django unter IIS auf einem Windows-Server aus
So führen Sie eine Django-Anwendung auf einem Docker-Container aus (Entwicklungs- und Produktionsumgebung)
Stellen Sie die Django-Anwendung mit Docker bereit
Stellen Sie die Django-Anwendung auf Heroku bereit
So stellen Sie den Django-Kompressor unter Windows bereit
Stellen Sie die Django-Anwendung auf EC2 mit Nginx + Gunicorn + Supervisor bereit
So testen Sie auf einer von Django authentifizierten Seite
So erstellen Sie eine Anwendung aus der Cloud mithilfe des Django-Webframeworks
So entwickeln Sie eine Cart-App mit Django
Wie man mit 2017 Windows ein anständiges Leben führt
So erstellen Sie eine Rest-API in Django
So installieren Sie Fast.ai auf einer Alibaba Cloud-GPU und führen es auf einem Jupyter-Notebook aus
Stellen Sie Python 3.6 / Django / Postgres-Webanwendungen in Azure bereit
(Python) Versuchen Sie, eine Webanwendung mit Django zu entwickeln
So installieren Sie Linux auf einem 32-Bit-UEFI-PC
Ein Memorandum zur Verwendung von Keras 'keras.preprocessing.image
Verwendung von Django mit Google App Engine / Python
Stellen Sie die mit PTVS erstellte Django-App in Azure bereit
So verweisen Sie auf statische Dateien in einem Django-Projekt
So erstellen Sie eine Python-Umgebung unter Amazon Linux 2
So richten Sie ein VPN-Gateway ein, um eine Verbindung zwischen Alibaba Cloud und AWS herzustellen
So rufen Sie eine Funktion auf
So registrieren Sie sich bei pypi
Wie man ein Terminal hackt
Stellen Sie das Django-Projekt für Heroku bereit
Verwendung von GitHub auf einem Server für mehrere Personen ohne Kennwort
So stellen Sie eine mit Flask erstellte Web-App für Heroku bereit
Verwendung von Fujifilm X-T3 als Webcam unter Ubuntu 20.04
Ein Hinweis zur einfachen Vorbereitung einer Linux-Übungsumgebung
So führen Sie ein geschultes Transformatormodell lokal auf CloudTPU aus
So erstellen Sie eine neue virtuelle Python-Umgebung unter Ubuntu
So konvertieren Sie mit Python [Anwendung] von einem Array in ein Wörterbuch
Verliere nicht gegen Ruby! Wie man Python (Django) auf Heroku ausführt
ACME mit Alibaba Cloud verschlüsseln: Konzepte für SSL-Zertifikate
Wie erstelle ich ein Multiplayer-Online-Actionspiel mit Slack?
So stellen Sie Pybot, das einfachste Python-Lehrbuch, auf Heroku bereit
So mounten Sie ein Windows 10-Verzeichnis unter Ubuntu-Server 20.04 auf VMware Workstation 15.
Hinweise zum Laden einer virtuellen Umgebung mit PyCharm
So generieren Sie eine Abfrage mit dem IN-Operator in Django
So registrieren Sie ein Paket in PyPI (Stand September 2017)
So stellen Sie Java-Apps unter VPS bereit (Apache / Tomcat-Installation / Verknüpfung)
Herstellen einer Verbindung zu Cloud SQL PostgreSQL auf der Google Cloud Platform aus einer lokalen Umgebung mit Java
[Codemuster] Bereitstellen einer Beispielaustausch-App für OpenShift in der IBM Cloud mithilfe von Red Hat Universal Base Image (UBI)
Wie erstelle ich eine japanisch-englische Übersetzung?
So installieren Sie OpenCV in Cloud9 und führen es in Python aus
[Django] So testen Sie Form [TDD]
So setzen Sie einen symbolischen Link
Ein Hinweis zum Überprüfen der Verbindung zum Lizenzserver-Port
So installieren Sie mysql-connector-python auf einem Mac
Schritte zum Erstellen eines Django-Projekts
Verwendung von Dataiku unter Windows