Django:Nginx und Gunicorn und Supabase: Unterschied zwischen den Seiten

Aus ahrensburg.city
(Unterschied zwischen Seiten)
Zur Navigation springen Zur Suche springen
 
// via Wikitext Extension for VSCode
 
Zeile 1: Zeile 1:
== Nginx und Gunicorn ==
Supabase ist eine Open-Source-Plattform, die eine Vielzahl von Diensten für die Entwicklung von Anwendungen bereitstellt. Es bietet eine Datenbank, Authentifizierung, Echtzeit- und REST-APIs, Dateispeicherung und mehr. Supabase basiert auf PostgreSQL und bietet eine einfache Möglichkeit, Datenbanken zu erstellen und zu verwalten.
Nginx ist ein Webserver, der häufig als Reverse-Proxy-Server eingesetzt wird. Gunicorn ist ein WSGI-HTTP-Server für Python-Anwendungen. In diesem Artikel wird
erläutert, wie Sie Nginx und Gunicorn zusammen verwenden können, um eine Django-Anwendung zu hosten.


=== Systemctl-Service für Gunicorn erstellen ===
==Ubuntu 24.04 LTS Installation==
Erstellen Sie eine Systemctl-Service-Datei für Gunicorn, um den Gunicorn-Server als Dienst auf Ihrem Server zu starten und zu stoppen. Erstellen Sie eine Datei
Um Supabase auf einem Ubuntu 24.04 LTS-Server zu installieren, führen Sie die folgenden Schritte aus:
mit dem Namen `gunicorn.service` im Verzeichnis `/etc/systemd/system/` und fügen Sie den folgenden Inhalt hinzu:
===Installieren Sie ufw===
ufw ist ein Frontend für iptables und bietet eine einfache Möglichkeit, die Firewall auf einem Ubuntu-Server zu konfigurieren. Installieren Sie ufw mit dem folgenden Befehl:
<pre>
<pre>
sudo nano /etc/systemd/system/gunicorn.service
sudo apt update #Aktualisieren Sie die Paketliste
</pre>
sudo apt install ufw #Installieren Sie ufw
Folgene Inhalt hinzufügen:
</pre>
Standardregeln setzen
<pre>
sudo ufw default deny incoming #Blockieren Sie eingehende Verbindungen
sudo ufw default allow outgoing #Erlauben Sie ausgehende Verbindungen
sudo ufw allow ssh #Erlauben Sie SSH-Verbindungen
sudo ufw allow http #Erlauben Sie HTTP-Verbindungen
sudo ufw allow https #Erlauben Sie HTTPS-Verbindungen
</pre>
Aktivieren Sie ufw
<pre>
<pre>
[Unit]
sudo ufw enable #Aktivieren Sie ufw
Description=Gunicorn daemon for Django project
After=network.target
 
[Service]
User=www-data
Group=www-data
WorkingDirectory=/home/thorsten/portal
ExecStart=/home/thorsten/portal/.venv/bin/gunicorn --bind 0.0.0.0:9000 portal.wsgi:application
[Install]
WantedBy=multi-user.target
 
</pre>
</pre>
===Starten Sie den Gunicorn-Service===
===Installieren Sie Docker===
* [https://docs.docker.com/engine/install/ubuntu/ Docker installieren]
====. Ändern der Docker-Daemon-Konfiguration====
Deaktivieren von iptables:
<pre>
<pre>
sudo systemctl daemon-reload # Reload systemctl to read the new service file
sudo nano /etc/docker/daemon.json #Öffnen Sie die Docker-Daemon-Konfigurationsdatei
sudo systemctl start my_gunicorn_service # Start the Gunicorn service
sudo systemctl enable gunicorn_service # Enable the Gunicorn service to start on boot
</pre>
</pre>
 
Fügen Sie die folgende Konfiguration hinzu:
=== Nginx-Konfiguration für Gunicorn ===
Erstellen Sie eine Nginx-Konfigurationsdatei für Ihre Django-Anwendung. Erstellen Sie eine Datei mit dem Namen `my_django_app` im Verzeichnis `/etc/nginx/sites-available/`
und fügen Sie den folgenden Inhalt hinzu:
<pre>
<pre>
sudo nano /etc/nginx/sites-available/my_django_app
{
  "iptables": false #Deaktivieren Sie iptables
}
</pre>
</pre>
Folgene Inhalt hinzufügen:
Starten Sie den Docker-Dienst neu:
<pre>
<pre>
server {
sudo systemctl restart docker #Starten Sie den Docker-Dienst neu
    listen 80;
    server_name your_domain.com;
 
    location = /favicon.ico { access_log off; log_not_found off; }
    location /static/ {
        root /path/to/your/django/project;
    }
 
    location / {
        include proxy_params;
        proxy_pass http://     
 
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header Host $http_host;
        proxy_redirect off;
    }
}
</pre>
</pre>
===Installieren Sie Supabase===
* [https://supabase.com/docs/guides/self-hosting Supabase selbst hosten]

Version vom 1. Oktober 2024, 01:15 Uhr

Supabase ist eine Open-Source-Plattform, die eine Vielzahl von Diensten für die Entwicklung von Anwendungen bereitstellt. Es bietet eine Datenbank, Authentifizierung, Echtzeit- und REST-APIs, Dateispeicherung und mehr. Supabase basiert auf PostgreSQL und bietet eine einfache Möglichkeit, Datenbanken zu erstellen und zu verwalten.

Ubuntu 24.04 LTS Installation

Um Supabase auf einem Ubuntu 24.04 LTS-Server zu installieren, führen Sie die folgenden Schritte aus:

Installieren Sie ufw

ufw ist ein Frontend für iptables und bietet eine einfache Möglichkeit, die Firewall auf einem Ubuntu-Server zu konfigurieren. Installieren Sie ufw mit dem folgenden Befehl:

sudo apt update #Aktualisieren Sie die Paketliste
sudo apt install ufw #Installieren Sie ufw
 
Standardregeln setzen
 sudo ufw default deny incoming #Blockieren Sie eingehende Verbindungen
 sudo ufw default allow outgoing #Erlauben Sie ausgehende Verbindungen
 sudo ufw allow ssh #Erlauben Sie SSH-Verbindungen
 sudo ufw allow http #Erlauben Sie HTTP-Verbindungen
 sudo ufw allow https #Erlauben Sie HTTPS-Verbindungen
 

Aktivieren Sie ufw

sudo ufw enable #Aktivieren Sie ufw

Installieren Sie Docker

. Ändern der Docker-Daemon-Konfiguration

Deaktivieren von iptables:

sudo nano /etc/docker/daemon.json #Öffnen Sie die Docker-Daemon-Konfigurationsdatei

Fügen Sie die folgende Konfiguration hinzu:

{
  "iptables": false #Deaktivieren Sie iptables
}

Starten Sie den Docker-Dienst neu:

sudo systemctl restart docker #Starten Sie den Docker-Dienst neu

Installieren Sie Supabase