2016-08-07 78 views
0

Ich bin auf der Suche nach einer Möglichkeit, nginx so zu konfigurieren, dass es einen Befehlszeilenprozess mit einer bestimmten URL ausführen wird.Wie führe ich einen Prozess mit nginx

Die Idee ist, einen Prozess zu haben, um die neueste Version von git für eine Site zu holen, wenn das Repository aktualisiert wird.

Get bitbucket eine URL auf ein Update aufrufen ist einfach genug.
Noch nicht sicher, wie Sie einen Befehlszeilenprozess von nginx aus durchführen.

Was wäre der einfachste Weg, dies zu tun?

Hier eine Antwort gefunden. nginx - How to run a shell script on every request?

Der Hauptunterschied zwischen dieser Frage und der anderen Frage ist, dass ich nicht 'Shell' dachte, als ich mir die Frage stellte. Ich denke in Bezug auf Prozesse. Als ich nach dem Prozess suchte, kam praktisch nichts. Ich habe nur Antworten gefunden, als ich "Shell" für "Prozess" ersetzte. Ein feiner Unterschied, aber ein Unterschied, dass jemand einige Zeit in der Zukunft

Hat eine Anschlussfrage, mit fcgiwrap auf Ubuntu 12.04, die nach dem Lesen CGI reply error on nginx server using fcgiwrap

+1

Mögliches Duplikat von [nginx - Wie man ein Shell-Skript bei jeder Anfrage ausführt?] (Http://stackoverflow.com/questions/22891148/nginx-how-to-run-a-shell-script-on-every (Anfrage) – tripleee

Antwort

1

aufgelöst wurden sparen können Sie die Antwort verwenden Sie in Ihrer Frage erwähnt, aber Sie können auch ein beliebiges Skript hinzufügen und verwenden, das alle x Sekunden Änderungen von git vornehmen kann.

Ihr Code wird bei jedem Ziehen aktualisiert und es gab keine Änderungen nichts wird passieren.

Ihr Skript wird in etwa so aussehen:

while [ 1 ] ; do git pull ... ; sleep X; done; 

Diese Linie immer laufen, bis Sie sie stoppen. Sie können es über ein Skript starten, verwenden Sie Watchdog oder Crontab, mit dem Sie bequemer füllen.

+0

Eine vernünftige Idee, auf die ich zurückgreifen könnte. Ich bevorzuge die Ereignisverarbeitung und nicht die Abfrageverarbeitung. –