marcusianlevine.nginx-container
nginx-container
Fügt einen nginx-Dienst zu deinem Ansible Container Projekt hinzu. Führe die folgenden Befehle aus, um den Dienst zu installieren:
# Setze das Arbeitsverzeichnis auf das Stammverzeichnis deines Ansible Container Projekts
$ cd meinprojekt
# Installiere den Dienst
$ ansible-container install ansible.nginx-container
Anforderungen
- Ansible Container
- Ein bestehendes Ansible Container Projekt. Um ein Projekt zu erstellen, führe einfach die folgenden Befehle aus:
# Erstelle ein leeres Projektverzeichnis $ mkdir meinprojekt # Setze das Arbeitsverzeichnis auf das neue Verzeichnis $ cd meinprojekt # Initialisiere das Projekt $ ansible-contiainer init
Rollenvariablen
STATIC_ROOT: /static
Pfad zu statischen Inhalten, die von nginx bereitgestellt werden.
STATIC_LOCATION: {{ STATIC_ROOT }}/
Anfragen, die mit diesem Muster übereinstimmen, werden auf das {{ STATIC_ROOT }}-Verzeichnis verwiesen. Normalerweise "/static/" oder "/assets/".
PIDFILE_DIR: /run/nginx
Pfad, an dem nginx den aktuellen PID-Wert speichert.
ASSET_PATHS: []
Liste von Pfaden, aus denen statische Inhalte kopiert werden. Der Inhalt wird nach {{ STATIC_ROOT }} kopiert.
HINWEIS Pfade müssen innerhalb des Ansible-Baucontainers gültig sein. Wenn du Quelldateien kopierst, mounte das Quellverzeichnis in den Baucontainer mit --with-volumes.
PROXY: nein
Wenn du diese Rolle als Teil der Demoversion verwendest, muss nginx den Django-Dienst proxyen. In diesem Fall setze dies auf 'ja'.
PROXY_PASS: ""
Die Adresse des Backend-Servers, der die proxied Anfragen akzeptiert. Zum Beispiel:
http://django:8080
PROXY_LOCATION: ""
Ein String, der einen optionalen Modifier und ein Übereinstimmungsmuster enthält. Anfragen, die das Übereinstimmungsmuster enthalten, werden an die PROXY_PASS-Adresse weitergeleitet. Zum Beispiel,
~* /(api|static)
leitet Anfragen weiter, die mit/api
oder/static
beginnen.
PROXY_CONNECT_TIMEOUT: 60
Setze das
proxy_connect_timeout
auf diesen Wert in Sekunden. Laut NGINX-Dokumentation darf es 75s nicht überschreiten.
PROXY_SEND_TIMEOUT: 60
Setze
proxy_send_timeout
auf diesen Wert in Sekunden.
PROXY_READ_TIMEOUT: 60
Setze das
proxy_read_timeout
auf diesen Wert in Sekunden.
Optional
EXTRA_CONFIG
Liste der absoluten Pfade zu zusätzlichen NGINX-Konfigurationstemplates, die in
/etc/nginx/conf.d
abgelegt werden sollen. Dateinamen müssen mit.conf.j2
enden, gib diese Liste jedoch nur mit.conf
an!
Abhängigkeiten
Keine.
Mitwirken
Zur Vereinfachung, während du an Änderungen dieser Rolle arbeitest, kannst du den folgenden Workflow zum Testen verwenden:
# Committe deine Änderungen
$ git commit -m
# Pushe deine Änderungen
$ git push
# Setze das Arbeitsverzeichnis auf tests
$ cd tests
# Führe einen Build aus, der die Rolle beim neuesten Commit installiert
$ ./build.sh
Ein paar Hinweise:
- Du musst
git push
für deine Änderungen ausführen, damit der Build sie übernehmen kann. - Passe build.sh an, um auf dein Fork dieser Rolle zu verweisen.
- Wenn alles gut geht und der Build erfolgreich ist, läuft der Container, der aus deinem letzten Commit gebaut wurde, im Hintergrund.
- Der laufende Container veröffentlicht den Port 8000:8000. Wenn du einen Browser auf http://localhost:8000 richtest, solltest du die Standard-nginx-Seite sehen.
Lizenz
Apache v2
Autoreninformationen
Siehe AUTHORS für eine Liste der Mitwirkenden. Danke an alle!
ansible-galaxy install marcusianlevine.nginx-container