NGINX muss auf dem Raspberry Pi häufig neu gestartet werden

588
Akito

Ich habe auf meinem Raspberry Pi 3B einen Gitea- Server eingerichtet, auf dem der neueste DietPi läuft . Ich habe nginx als Reverse Proxy für die Gitea- Website installiert, die ich hoste . Alles funktioniert einwandfrei, außer nach einigen Stunden (manchmal öfter) ist die Website nicht erreichbar. Wenn der nginx- Dienst neu gestartet wird, funktioniert alles sofort wieder einwandfrei . Deshalb muss ich den Dienst jetzt ziemlich oft neu starten. Als temporären Workaround habe ich bereits jede Stunde einen Cronjob eingerichtet, der den Reverse-Proxy neu startet, aber anscheinend ist selbst das nicht häufig genug. Das error.loghat keinen Inhalt. Wie kann ich das Problem ermitteln und lösen?

Der Proxy ist erneut fehlgeschlagen, daher habe ich das error.log überprüft und es ist definitiv leer. Die Ausgabe für service nginx statuslautet wie folgt:

● nginx.service - A high performance web server and a reverse proxy server Loaded: loaded (/lib/systemd/system/nginx.service; enabled; vendor preset: enabled) Active: failed (Result: exit-code) since Fri 2018-11-09 08:05:09 CET; 17min ago Docs: man:nginx(8) Process: 14459 ExecStop=/sbin/start-stop-daemon --quiet --stop --retry QUIT/5 --pidfile /run/nginx.pid (code=exited, s Process: 6409 ExecStart=/usr/sbin/nginx -g daemon on; master_process on; (code=exited, status=0/SUCCESS) Process: 19805 ExecStartPre=/usr/sbin/nginx -t -q -g daemon on; master_process on; (code=exited, status=1/FAILURE) Main PID: 6411 (code=exited, status=0/SUCCESS) CPU: 121ms  Nov 09 08:05:01 hostname systemd[1]: Starting A high performance web server and a reverse proxy server... Nov 09 08:05:09 hostname nginx[19805]: nginx: [emerg] host not found in upstream "git.domain.tld" in /etc/nginx/sites-en Nov 09 08:05:09 hostname nginx[19805]: nginx: configuration file /etc/nginx/nginx.conf test failed Nov 09 08:05:09 hostname systemd[1]: nginx.service: Control process exited, code=exited status=1 Nov 09 08:05:09 hostname systemd[1]: Failed to start A high performance web server and a reverse proxy server. Nov 09 08:05:09 hostname systemd[1]: nginx.service: Unit entered failed state. Nov 09 08:05:09 hostname systemd[1]: nginx.service: Failed with result 'exit-code'. 
0
Möglicherweise ist der Speicher erschöpft? Überprüfen Sie Ihre Konfiguration, das Fehlerprotokoll sollte nicht leer sein. Gerard H. Pille vor 6 Jahren 0
Tritt dies auch auf, wenn Sie keine Sites bedienen (alle Sites deaktivieren) und den Nginx nur aus dem lokalen Netzwerk verfügbar machen? Aulis Ronkainen vor 6 Jahren 0
@AulisRonkainen Ich habe meine Frage bearbeitet. Akito vor 6 Jahren 0
Das (Statusprotokoll) besagt, dass Ihre Konfiguration nicht korrekt ist. Kannst du das bitte überprüfen? Aulis Ronkainen vor 6 Jahren 0
Ich gehe davon aus, dass es nicht laufen würde, wenn es falsch wäre. Vor ein paar Stunden habe ich einen "Resolver" hinzugefügt und anstelle der eigentlichen Adresse für "proxy_pass" eine Variable verwendet. Bis jetzt funktioniert es gut. Sobald ich sicher bin, dass es funktioniert hat, werde ich es als Antwort posten. Akito vor 6 Jahren 0

1 Antwort auf die Frage

0
Akito

So wurde ich auf dem Fehler konzentriert nginx[19805]: nginx: [emerg] host not found in upstream und fand eine Arbeitslösung, das heißt beschrieben hier .

Ich habe meine git.domain.tld.vhostDatei /etc/nginx/sites-availableso bearbeitet, dass sie so aussehen würde:

server { resolver 8.8.8.8; listen 80; server_name git.domain.tld;  location / { set $upstream "git.domain.tld:5016"; proxy_pass http://$upstream; } } 

Wie Sie hier sehen, habe ich die Domäne, zu der umgeleitet wird, einer Variablen zugewiesen. Ich habe auch resolverdie DNS-Adresse eingestellt, unter der sich die Domain befindet. Jetzt funktioniert alles wie es soll.