marcusianlevine.nginx-container

Build-Status

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!

Über das Projekt

nginx for Ansible Container

Installieren
ansible-galaxy install marcusianlevine.nginx-container
GitHub Repository
Lizenz
Unknown
Downloads
682
Besitzer
Data Science + DevOps = DataEng