Free Tier: Flask auf einer Ubuntu-VM installieren

In diesem Tutorial richten Sie mit einem Oracle Cloud Infrastructure Free Tier-Account eine Ubuntu-Instanz ein. Anschließend richten Sie eine virtuelle Umgebung für den Host ein. Schließlich installieren Sie Flask, ein Lightweight Web Application Framework für Python.

Zu den wichtigsten Aufgaben gehören:

  • Richten Sie ein Compartment für Ihre Entwicklungsarbeit ein.
  • Installieren Sie Ihre Ubuntu Linux-Instanz, und verbinden Sie sie mit Ihrem virtuellen Cloud-Netzwerk (VCN).
    • Richten Sie ein virtuelles Cloud-Netzwerk in Oracle Cloud Infrastructure und zugehörige Netzwerkservices ein, die für die Verbindung Ihres Hosts mit dem Internet erforderlich sind.
    • Richten Sie SSH-Verschlüsselungsschlüssel für den Zugriff auf Ihren Ubuntu Linux-Server ein.
  • Konfigurieren Sie Ingress-Regeln für das VCN.
  • Installieren Sie Flask auf Ihrer VM.
  • Erstellen Sie eine "Hello World"-Python-Anwendung.
  • Testen Sie die Anwendung.

Im Folgenden finden Sie ein vereinfachtes Diagramm des Setups für die Linux-VM.

Ein Diagramm der Komponenten, die zum Ausführen eines Flask Web Application Framework auf Oracle Cloud Infrastructure erforderlich sind

Weitere Informationen finden Sie hier:

Bevor Sie beginnen

Um dieses Tutorial erfolgreich abzuschließen, benötigen Sie Folgendes:

Anforderungen

1. Compartment für Entwicklung einrichten

Konfigurieren Sie ein Compartment für Ihre Entwicklung.

Compartment erstellen

Erstellen Sie ein Compartment für die Ressourcen, die Sie in diesem Tutorial erstellen.

  1. Melden Sie sich bei der Oracle Cloud Infrastructure-Konsole an.
  2. Öffnen Sie das Navigationsmenü, und klicken Sie auf Identität und Sicherheit. Klicken Sie unter Identität auf Compartments.
  3. Klicken Sie auf Compartment erstellen.
  4. Geben Sie die folgenden Informationen ein:
    • Name: <your-compartment-name>
    • Beschreibung: Compartment für <your-description>.
    • Übergeordnetes Compartment: <your-tenancy>(Root)
  5. Klicken Sie auf Compartment erstellen.

Referenz: Compartment erstellen

2. Ubuntu Linux-Instanz installieren

Mit dem Workflow VM-Instanz erstellen können Sie eine neue Compute-Instanz erstellen.

Der Workflow führt bei der Installation der Instanz mehrere Schritte aus:

  • Erstellt und installiert eine Compute-Instanz mit Ubuntu Linux.
  • Erstellt ein VCN mit dem erforderlichen Subnetz und den erforderlichen Komponenten, um die Ubuntu Linux-Instanz mit dem Internet zu verbinden.
  • Erstellt ein SSH-Schlüsselpaar, mit dem Sie eine Verbindung zur Instanz herstellen können.
Installationsschritte prüfen

Um mit der Installation einer Instanz mithilfe des Workflows VM-Instanz erstellen zu beginnen, gehen Sie wie folgt vor:

Wichtig

Die angegebenen Schritte gelten für einen Free Tier-Account. Wenn Sie einen kostenpflichtigen Account verwenden, können sich die Schritte von den hier beschriebenen unterscheiden.
  1. Klicken Sie auf das Oracle Cloud-Symbol, um zur Hauptlandingpage zu gelangen.
    • Scrollen Sie nach unten zu Ressourcen starten.
    • Wählen Sie den Workflow VM-Instanz erstellen aus.
    Die Seite Compute-Instanz erstellen wird angezeigt. Die Seitenabschnitte enthalten
    • Name und Compartment
    • Platzierung
    • Sicherheit
    • Image und Form
    • Networking
    • SSH-Schlüssel hinzufügen
    • Boot-Volume
  2. Wählen Sie den Namen und das Compartment aus.

    Erste Optionen

    • Name: <name-for-the-instance>
    • Erstellen in Compartment: <your-compartment-name>

    Geben Sie einen Wert für den Namen ein, oder übernehmen Sie den Standardwert. Wählen Sie als Compartment das erstellte Compartment aus.

  3. Prüfen Sie die Einstellungen für Platzierung.
    • Übernehmen Sie die Standardwerte. Eine Availability-Domain wird Ihnen zugewiesen.

    Die Daten sehen etwa wie folgt aus:

    Availability-Domain

    • Availability-Domain: AD-1
    • Kapazitätstyp: On-Demand-Kapazität
    • Faultdomain: Auswahl der optimalen Faultdomain durch Oracle zulassen
    Hinweis

    Verwenden Sie für Free Tier für die Availability-Domain die Option "Immer kostenlos" verfügbar.
  4. Prüfen Sie die Einstellungen für Sicherheit.
    • Übernehmen Sie die Standardeinstellungen.

    Die Daten sehen etwa wie folgt aus:

    Sicherheit

    • Abgeschirmte Instanz: Deaktiviert
    • Confidential Computing: Deaktiviert
  5. Prüfen Sie die Einstellungen für Image und Ausprägung. Ändern Sie das Betriebssystemimage.
    • Klicken Sie auf bearbeiten.
    • Klicken Sie auf Image ändern.
    • Klicken Sie auf Ubuntu.
    • Wählen Sie Canonical Ubuntu 22.04 oder eine höhere Version aus.
    • Klicken Sie auf Image auswählen.
    Hinweis

    Im Folgenden finden Sie Beispieldaten für eine virtuelle AMD-Maschine. Die tatsächlichen Werte können sich davon unterscheiden.

    Image und Form

    • Image: Canonical Ubuntu 22.04
    • Image-Build: <current-build-date>
    • Ausprägung: VM.Standard.E2.1.Micro
    • OCPU: 1
    • Arbeitsspeicher (GB): 1
    • Netzwerkbandbreite (Gbit/s): 0,48
    Hinweis

    Verwenden Sie für Free Tier die Ausprägungsoption "Immer kostenlos" verfügbar.
    • Fahren Sie mit dem nächsten Abschnitt fort.
  6. Prüfen Sie die Einstellungen für Networking. Ändern Sie die Standardeinstellung wie folgt.
    • Klicken Sie auf bearbeiten.
    • Primäres Netzwerk: Wählen Sie Neues virtuelles Cloud-Netzwerk erstellen aus.
    • Name des neuen virtuellen Cloud-Netzwerks: Übernehmen Sie den generierten VCN-Namen, oder geben Sie einen eigenen Namen an.
    • Erstellen in Compartment: <your-compartment-name>.
    • Subnetz: Wählen Sie Neues öffentliches Subnetz erstellen aus.
    • Neuer Subnetzname: Übernehmen Sie den generierten Subnetznamen, oder geben Sie einen eigenen Namen an.
    • Erstellen in Compartment: <your-compartment-name>.
    • CIDR-Block: Übernehmen Sie den Standardwert (z.B. 10.0.0.0/24).
    • Öffentliche IPv4-Adresse: Übernehmen Sie den Standardwert Öffentliche IPv4-Adresse zuweisen.
    • Fahren Sie mit dem nächsten Abschnitt fort.
  7. Prüfen Sie die Einstellungen für SSH-Schlüssel hinzufügen. Übernehmen Sie die vom Workflow vorgegebenen Standardwerte.
    • Wählen Sie die Option Schlüsselpaar für mich generieren aus.
    • Klicken Sie auf Private Key speichern und Public Key speichern, um den privaten und öffentlichen SSH-Schlüssel für diese Compute-Instanz zu speichern.

    Wenn Sie Ihre eigenen SSH-Schlüssel verwenden möchten, wählen Sie eine der Optionen aus, um Ihren Public Key bereitzustellen.

    Hinweis

    Legen Sie Ihre Private- und Public-Key-Dateien an einem sicheren Speicherort ab. Sie können die Schlüssel nicht mehr abrufen, nachdem die Compute-Instanz erstellt wurde.
  8. Prüfen Sie die Einstellungen für das Boot-Volume.

    Deaktivieren Sie die Einstellung Benutzerdefinierte Boot-Volume-Größe angeben.

    Aktivieren Sie die Einstellung Verschlüsselung während der Übertragung verwenden.

    Deaktivieren Sie die Einstellung Dieses Volume mit einem von Ihnen verwalteten Schlüssel verschlüsseln.

  9. Klicken Sie auf Erstellen, um die Instanz zu erstellen. Das Provisioning des Systems kann einige Minuten dauern.
Sie haben erfolgreich eine Ubuntu Linux-Instanz erstellt.

3. Internetzugriff aktivieren

Der Assistent VM-Instanz erstellen erstellt automatisch ein VCN für Ihre VM. Fügen Sie dem Subnetz eine Ingress-Regel hinzu, um Internetverbindungen auf Port 5000 zuzulassen.

Ingress-Regel für das VCN erstellen

Führen Sie die folgenden Schritte aus, um das öffentliche Subnetz des VCN auszuwählen und die Ingress-Regel hinzuzufügen.

  1. Öffnen Sie das Navigationsmenü, und klicken Sie auf Networking, Virtuelle Cloud-Netzwerke.
  2. Wählen Sie das VCN aus, das Sie mit Ihrer Compute-Instanz erstellt haben.
  3. Wenn das neue VCN angezeigt wird, klicken Sie auf den Link für das Subnetz <your-subnet-name>.

    Die Informationen zum öffentlichen Subnetz werden unten auf der Seite mit den Sicherheitslisten angezeigt. Ein Link zur Standardsicherheitsliste für Ihr VCN wird angezeigt.

  4. Klicken Sie auf den Link Standardsicherheitsliste.

    Die Standard-Ingress-Regeln für das VCN werden angezeigt.

  5. Klicken Sie auf Ingress-Regeln hinzufügen.

    Das Dialogfeld Ingress-Regeln hinzufügen wird angezeigt.

  6. Geben Sie die folgenden Informationen für die Ingress-Regel ein.

    Geben Sie die Ingress-Regel wie folgt ein:

    • zustandslos: Aktiviert
    • Quelltyp: CIDR
    • Quell-CIDR: 0.0.0.0/0
    • IP-Protokoll: TCP
    • Quellportbereich: (leer lassen)
    • Zielportbereich: 5000
    • Beschreibung: HTTP-Verbindungen zulassen

    Klicken Sie auf Ingress-Regel hinzufügen. Jetzt sind HTTP-Verbindungen zulässig. Das VCN ist für Apache-Server konfiguriert.

  7. Klicken Sie auf Ingress-Regeln hinzufügen.
    Jetzt sind HTTP-Verbindungen zulässig. Das VCN ist für Apache-Server konfiguriert.
Sie haben erfolgreich eine Ingress-Regel erstellt, die Ihre Instanz über das Internet verfügbar macht.

4. Flask-Anwendung erstellen

Richten Sie als Nächstes Flask auf Ihrer Ubuntu Linux-Instanz ein. Erstellen Sie anschließend eine Flask-Anwendung, und führen Sie sie aus.

Flask installieren und einrichten

So richten Sie Flask mit Python 3 ein:

  1. Öffnen Sie das Navigationsmenü, und klicken Sie auf Compute. Klicken Sie unter Compute auf Instanzen.
  2. Klicken Sie auf den Link zu der Instanz, die Sie im vorherigen Schritt erstellt haben.

    Gehen Sie auf der Seite Instanzdetails zum Abschnitt Instanzzugriff. Kopieren Sie die öffentliche IP-Adresse, die das System erstellt hat. Mit dieser IP-Adresse können Sie eine Verbindung zu Ihrer Instanz herstellen.

  3. Öffnen Sie das Fenster Terminal oder Eingabeaufforderung.
  4. Wechseln Sie in das Verzeichnis, in dem Sie die SSH-Verschlüsselungsschlüssel gespeichert haben, die Sie in Teil 1 erstellt haben.
  5. Stellen Sie mit diesem SSH-Befehl eine Verbindung zur VM her.
    ssh -i <your-private-key-file> ubuntu@<x.x.x.x>

    Da Sie den Public Key beim Erstellen der VM angegeben haben, werden Sie mit diesem Befehl bei der VM angemeldet. Sie können jetzt sudo-Befehle ausgeben, um den Server zu installieren und zu starten.

  6. Aktualisieren Sie die Firewalleinstellungen.

    Die Ubuntu-Firewall ist standardmäßig deaktiviert. Sie müssen jedoch Ihre iptables-Konfiguration aktualisieren, um HTTP-Traffic zuzulassen. Führen Sie zum Aktualisieren von iptables die folgenden Befehle aus:

    sudo iptables -I INPUT 6 -m state --state NEW -p tcp --dport 5000 -j ACCEPT
    sudo netfilter-persistent save

    Die Befehle fügen eine Regel hinzu, um HTTP-Traffic über Port 5000 zuzulassen, und speichern die Änderungen an den iptables-Konfigurationsdateien.

  7. Installieren Sie pip3 für Python 3.
    sudo apt update
    sudo apt install -y python3-pip
  8. Installieren und aktivieren Sie eine virtuelle Umgebung sowie einen Wrapper für eine virtuelle Umgebung.

    Mit einer virtuellen Umgebung können Sie die Abhängigkeiten für Ihr Projekt verwalten. Jedes Projekt kann sich in einer eigenen virtuellen Umgebung befinden, um unabhängige Gruppen von Python-Librarys zu hosten.

    virtualenvwrapper ist eine Erweiterung von virtualenv. Er bietet eine Reihe von Befehlen, wodurch das Arbeiten mit virtuellen Umgebungen komfortabler wird. Außerdem werden alle virtuellen Umgebungen an einem Ort platziert. virtualenvwrapper ermöglicht die Tab-Vervollständigung von Umgebungsnamen.

    pip3 install virtualenv
    pip3 install virtualenvwrapper
  9. Richten Sie den Wrapper für die virtuelle Umgebung in .bashrc ein.

    Aktualisieren Sie die Datei:

    sudo vi .bashrc

    Hängen Sie in der Datei folgenden Text an, und speichern Sie die Datei:

    # set up Python env
    export WORKON_HOME=~/envs
    export PATH=$PATH:/home/ubuntu/.local/bin
    export VIRTUALENVWRAPPER_PYTHON=/usr/bin/python3
    export VIRTUALENVWRAPPER_VIRTUALENV_ARGS=' -p /usr/bin/python3 '
    source /home/ubuntu/.local/bin/virtualenvwrapper.sh

    Aktivieren Sie die vorherigen Befehle im aktuellen Fenster.

    source ~/.bashrc
  10. Starten Sie eine virtuelle Umgebung.
    mkvirtualenv flask01
    Der Befehl gibt Folgendes zurück: (flask01) ubuntu@<ubuntu-instance-name>:~$
  11. Installieren Sie Flask.
    pip3 install Flask
  12. Erstellen Sie eine "Hello, World!"-Anwendung.

    Erstellen Sie die Datei:

    sudo vi hello.py

    Geben Sie in der Datei folgenden Text ein, und speichern Sie die Datei:

    from flask import Flask
    app = Flask(__name__)
    
    @app.route('/')
    def hello_world():
        return 'Hello, World!'
    
    if __name__ == "__main__":
        app.run(host="0.0.0.0", port=int("5000"), debug=True)
  13. Führen Sie das Python-Programm aus.
    export FLASK_APP=hello.py
    flask run --host=0.0.0.0
  14. Sie können nun Ihr Anwendungs-Framework testen.

    Stellen Sie über ein neues Terminal eine Verbindung zu Ihrer Ubuntu-VM mit Ihren SSH-Schlüsseln her, und geben Sie dann in der Befehlszeile curl localhost:5000 ein. Sie können den Browser auch mit der öffentlichen IP-Adresse verbinden, die der VM zugewiesen ist: http://<x.x.x.x>:5000.

    Die Anwendung gibt Hello World! auf Ihrer VM oder in Ihrem Browser zurück.
Herzlichen Glückwunsch. Sie haben Flask erfolgreich auf Ihrer Oracle Cloud Infrastructure-VM installiert.

Weitere Schritte

Sie haben erfolgreich Flask installiert und mit einer Ubuntu-VM eine Python-Anwendung auf Oracle Cloud Infrastructure erstellt.

Weitere Informationen zur Entwicklung mit Oracle-Produkten finden Sie auf folgenden Websites: