|
|
Zeile 1: |
Zeile 1: |
| ==Django: Nginx und Gunicorn mit unix:socket==
| | Blondo's Pizza ist ein italienisches Restaurant und Imbiss in Ahrensburg. Hier können Sie leckere Pizza, Pasta, Salate, Baguettes, Fingerfood, Desserts und Getränke bequem vor Ort essen oder nach Hause oder ins Büro liefern lassen. |
| | | ==Adresse== |
| Gunicorn ist ein WSGI-HTTP-Server für Python-Anwendungen. Er ist eine Alternative zu uWSGI und mod_wsgi. Gunicorn ist ein reiner Python-Server und kann mit Django, Flask und anderen Python-Web-Frameworks verwendet werden.
| | * Ewige Weide 6 |
| | | * 22926 Ahrensburg |
| In diesem Tutorial werden wir zeigen, wie
| | ==Weblinks== |
| | | * [https://www.blondos.de/ Offizielle Webseite] |
| - Django-Anwendung auf einem Gunicorn-Server ausgeführt wird.
| |
| - Nginx als Reverse-Proxy-Server für Gunicorn konfiguriert wird.
| |
| - Gunicorn mit einem Unix-Socket anstelle eines TCP-Sockets konfiguriert wird.
| |
| | |
| ===Schritt 1: Gunicorn mit einem Unix-Socket===
| |
| | |
| Gunicorn kann mit einem Unix-Socket anstelle eines TCP-Sockets konfiguriert werden. Ein Unix-Socket ist ein Kommunikationsendpunkt, der auf dem Dateisystem erstellt wird. Es ist schneller als ein TCP-Socket, da es keine Netzwerkschicht durchläuft.
| |
| | |
| Erstellen Sie ein Verzeichnis für die Sockeldatei:
| |
| | |
| <pre>
| |
| sudo mkdir /run/gunicorn
| |
| </pre>
| |
| | |
| Erstellen Sie eine Sockeldatei:
| |
| | |
| Ändern Sie die Berechtigungen der Sockeldatei:
| |
| | |
| <pre>
| |
| | |
| sudo mkdir -p /run/gunicorn
| |
| sudo touch /run/gunicorn/thorsten.sock
| |
| sudo chown www-data:www-data /run/gunicorn
| |
| sudo chmod 755 /run/gunicorn
| |
| </pre>
| |
| | |
| Erstellen Sie eine Systemd-Dienstdatei für Gunicorn:
| |
| | |
| <pre>
| |
| sudo nano /etc/systemd/system/gunicorn.service
| |
| </pre>
| |
| | |
| Fügen Sie den folgenden Inhalt hinzu:
| |
| | |
| <pre>
| |
| [Unit]
| |
| Description=gunicorn daemon
| |
| After=network.target
| |
| | |
| [Service]
| |
| User=www-data
| |
| Group=www-data
| |
| WorkingDirectory=/home/thorsten/portal
| |
| ExecStart=/home/thorsten/portal/.venv/bin/gunicorn --access-logfile - --workers 3 --bind unix:/run/gunicorn/django.sock portal.wsgi:application
| |
| | |
| [Install]
| |
| WantedBy=multi-user.target
| |
| </pre>
| |
| | |
| Starten und aktivieren Sie den Gunicorn-Dienst:
| |
| | |
| <pre>
| |
| sudo systemctl start gunicorn
| |
| sudo systemctl enable gunicorn
| |
| </pre>
| |
| | |
| ===Schritt 2: Nginx als Reverse-Proxy-Server für Gunicorn===
| |
| | |
| Nginx kann als Reverse-Proxy-Server für Gunicorn konfiguriert werden. Ein Reverse-Proxy-Server empfängt Anfragen von Clients und leitet sie an den entsprechenden Server weiter.
| |
| | |
| Erstellen Sie eine Nginx-Konfigurationsdatei:
| |
| | |
| <pre>
| |
| sudo nano /etc/nginx/sites-available/myproject
| |
| </pre>
| |
| | |
| Fügen Sie den folgenden Inhalt hinzu:
| |
| | |
| <pre>
| |
| server {
| |
| listen 80;
| |
| server_name example.com;
| |
| | |
| location / {
| |
| proxy_pass http://unix:/run/gunicorn/django.sock;
| |
| proxy_set_header Host $host;
| |
| proxy_set_header X-Real-IP $remote_addr;
| |
| proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
| |
| proxy_set_header X-Forwarded-Proto $scheme;
| |
| }
| |
| }
| |
| </pre>
| |
| | |
| Aktivieren Sie die Nginx-Konfigurationsdatei:
| |
| | |
| <pre>
| |
| sudo ln -s /etc/nginx/sites-available/myproject /etc/nginx/sites-enabled
| |
| </pre>
| |
| | |
| Starten Sie Nginx:
| |
| | |
| <pre>
| |
| sudo systemctl start nginx
| |
| </pre>
| |
Blondo's Pizza ist ein italienisches Restaurant und Imbiss in Ahrensburg. Hier können Sie leckere Pizza, Pasta, Salate, Baguettes, Fingerfood, Desserts und Getränke bequem vor Ort essen oder nach Hause oder ins Büro liefern lassen.
Adresse
- Ewige Weide 6
- 22926 Ahrensburg
Weblinks