Putting a Webserver (Nginx) in front of your Spring Boot Application | Spring Boot: REST Services
Indholdsfortegnelse:
- Konfiguration af adgangsloggen
- Konfiguration af fejlloggen
- Logfilernes placering
- Læsning og forståelse af Nginx-logfiler
- Konklusion
Nginx er en open source, højtydende HTTP og reverse proxy-server, der er ansvarlig for håndtering af belastningen på nogle af de største websteder på Internettet. Når du administrerer NGINX webservere, er en af de hyppigste opgaver, du udfører, at kontrollere logfilerne.
At vide, hvordan man konfigurerer og læser loggerne, er meget nyttigt, når du fejlsøger server- eller applikationsproblemer, da de giver detaljerede fejlfindingsoplysninger.
Nginx skriver poster over sine begivenheder i to typer logfiler: adgangslogfiler og fejllogfiler. Adgangslogger skriver oplysninger om klientanmodninger, og fejllogfiler skriver information om server- og applikationsproblemer.
Denne artikel beskriver, hvordan du konfigurerer og læser Nginx-adgangs- og fejllogfiler.
Konfiguration af adgangsloggen
Hver gang en klientanmodning behandles, genererer Nginx en ny begivenhed i adgangsloggen. Hver hændelsesregistrering indeholder en tidsstempel og indeholder forskellige oplysninger om klienten og den ønskede ressource. Adgangslogfiler kan vise dig placeringen af de besøgende, den side, de besøger, hvor meget tid de bruger på siden og meget mere.
Direktivet
log_format
giver dig mulighed for at definere formatet for loggede meddelelser.
access_log
direktivet aktiverer og indstiller placeringen af logfilen og det anvendte format.
Den mest basale syntaks i
access_log
direktivet er som følger:
access_log log_file log_format;
Hvor
log_file
er den fulde sti til logfilen, og
log_format
er det format, der bruges af logfilen.
Adgangsloggen kan aktiveres enten i
http
,
server
eller
location
blok.
Som standard er adgangsloggen globalt aktiveret i
http
direktivet i den vigtigste Nginx-konfigurationsfil.
http {… access_log /var/log/nginx/access.log;… }
For bedre vedligeholdelighed anbefales det at indstille en separat adgangsloggfil for hver serverblok.
access_log
direktivet, der er angivet i
access_log
tilsidesætter det sæt i
http
(højere niveau) -direktivet.
http {… access_log /var/log/nginx/access.log;… server { server_name domain.com access_log /var/log/nginx/domain.access.log;… } }
Hvis der ikke er angivet noget logformat, bruger Nginx det foruddefinerede kombinerede format, der ser sådan ud:
log_format combined '$remote_addr - $remote_user ' '"$request" $status $body_bytes_sent ' '"$http_referer" "$http_user_agent"';
For at ændre loggingsformatet tilsidesættes enten standardindstillingen eller definerer en ny. For at definere et nyt loggingsformat med navnet hoved, som f.eks. Udvider det kombinerede format med den værdi, der viser
X-Forwarded-For
overskriften, skal du tilføje følgende definition i
http
eller
server
:
log_format custom '$remote_addr - $remote_user "$request" ' '$status $body_bytes_sent "$http_referer" ' '"$http_user_agent" "$http_x_forwarded_for"';
For at bruge det nye format skal du specificere dets navn efter logfilen som vist nedenfor:
access_log /var/log/nginx/access.log custom;
Mens adgangsloggen indeholder meget nyttige oplysninger. det tager diskplads og kan påvirke serverens ydelse. Hvis din server er lav på ressourcer og du har et travlt websted, kan du muligvis deaktivere adgangsloggen. For at gøre det skal du indstille værdien af
access_log
direktivet til:
Konfiguration af fejlloggen
Nginx skriver meddelelser om applikationen og generelle serverfejl i fejlloggfilen. Hvis du oplever fejl i din webapplikation, er fejlloggen det første sted at starte med fejlfindingsproblemer.
error_log
aktiverer og indstiller placeringen og sværhedsgraden af fejlloggen. Det tager følgende form og kan indstilles i en
http
,
server
eller
location
:
error_log log_file log_level
log_level
parameteren indstiller niveauet for logging. Nedenfor er niveauer angivet efter deres sværhedsgrad (fra lav til høj):
-
debug
- Fejlsøgning af meddelelser.info
- Informationsmeddelelser.notice
- Meddelelser.warn
- Advarsler.error
- Fejl under behandling af en anmodning.crit
- Kritiske spørgsmål. Kræver en hurtig handling.alert
- Alarmer. Der skal straks træffes handling.emerg
- nødsituation. Systemet er i en ubrugelig tilstand.
Hvert logniveau inkluderer de højere niveauer. For eksempel, hvis du indstiller logniveauet til at
warn
, vil Nginx også logge
error
,
crit
,
alert
og
emerg
meddelelser.
Når
log_level
parameteren ikke er specificeret, er den som standard
error
.
Som standard er
error_log
direktivet defineret i
http
direktivet i hovednginx.conf-filen:
http {… error_log /var/log/nginx/error.log;… }
Samme som med adgangslogler anbefales det at indstille en separat fejlloggfil for hver serverblok, der tilsidesætter indstillingen, der er arvet fra de højere niveauer.
For at indstille domæne.com's fejllogg for at
warn
du f.eks.:
http {… error_log /var/log/nginx/error.log;… server { server_name domain.com error_log /var/log/nginx/domain.error.log warn;… } }
Hver gang du ændrer konfigurationsfilen, skal du genstarte Nginx-tjenesten for at ændringerne får virkning.
Logfilernes placering
Som standard på de fleste Linux-distributioner, som Ubuntu, CentOS og Debian, findes adgangs- og
/var/log/nginx
biblioteket
/var/log/nginx
.
Læsning og forståelse af Nginx-logfiler
Du kan åbne og analysere logfilerne ved hjælp af standardkommandoer som
cat
,
less
,
grep
,
cut
,
awk
osv.
Her er et eksempel fra den adgangsloggfil, der bruger Nginx-logformatet som standard:
192.168.33.1 - - "GET / HTTP/1.1" 200 396 "-" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/77.0.3865.120 Safari/537.36"
Lad os fordele, hvad hvert felt i posten betyder:
-
$remote_addr
-192.168.33.1
- IP-adressen til den klient, der anmoder om.$remote_user
--
- HTTP godkendt bruger. Når brugernavnet ikke er angivet, viser dette felt-
. -"$request"
-"GET /
- Anmodningstypen, stien og protokollen.$status
-200
- Serverens responskode.$body_bytes_sent
-396
- Størrelsen på serverrespons i bytes."$http_referer"
-"-"
- Henvisningens URL."$http_user_agent"
-Mozilla/5.0…
- Klientens brugeragent (webbrowser).
Brug
tail
til at se logfilen i realtid:
Konklusion
Logfiler giver dig nyttige oplysninger om serverproblemer og hvordan besøgende interagerer med dit websted.
Nginx giver dig mulighed for at konfigurere adgangs- og fejllogfilerne efter dine behov.
nginxKonfigurere en dual-boot-konfiguration til Windows 7

Hvis du ikke allerede er dræbt i Windows 7-dækning, er der en fantastisk måde at teste-køre operativsystemet på din nuværende maskine.
Dokumentér din konfiguration med Astra32

Har du brug for at vide, hvad din hardware er, og hvordan den gør det? Astra32 lægger det ud for dig.
HP Pavilion P6130f-skrivebordet ($ 600 pr. 15. november 2009) går til-tå mod Gateway DX4200-11-værdi PC, men taber ud til Gateway's bedre design og stærkere overordnede konfiguration. På andre steder i værdipapirkategorien har lignende pc'er, herunder en af HPs egne pavilloner, også bedre end P6130F.

HP slipper en af AMDs ældre chips, 2,4 GHz Phenom X4 9750, inde i den glatte, svarte skal af dette mellemstore tårnsystem. Den CPU er lidt kraftigere end Gateway DX4200-11s 2,2 GHz Phenom X4 9550-processor, men den falder ikke under 2,6 GHz Dual-Core E5300, der findes i HP Pavilion A6710T-skrivebordet - et system, der overgår P6130f til omkring 80 procent af sin pris. Afrunding af P6130Fs kernekomponenter er 8 GB DDR2-800 hukommelse og en enkelt 750 GB harddisk.