Android

Az nginx hiba és a hozzáférési napló konfigurálása

WinSCP Error- Permission denied - Error code 3(permissions and/or timestamp)- Hindi

WinSCP Error- Permission denied - Error code 3(permissions and/or timestamp)- Hindi

Tartalomjegyzék:

Anonim

A Nginx egy nyílt forráskódú, nagy teljesítményű HTTP és fordított proxy szerver, amely az Internet néhány legnagyobb webhelyének terhelésének kezeléséért felelős. Az NGINX webszerverek kezelésekor az egyik leggyakoribb feladat a naplófájlok ellenőrzése.

A naplók konfigurálásának és elolvasásának ismerete nagyon hasznos szerver- vagy alkalmazásproblémák elhárításakor, mivel ezek részletes hibakeresési információkat nyújtanak.

A Nginx eseménynaplóit kétféle naplóba írja: hozzáférési naplókba és hibanaplókba. A hozzáférési naplók információkat írnak az ügyfélkérésekről, a hibanaplók pedig a szerverrel és az alkalmazásokkal kapcsolatos információkat.

Ez a cikk ismerteti az Nginx hozzáférési és hibanaplók konfigurálásának és elolvasásának módját.

A hozzáférési napló konfigurálása

Az ügyfélkérések feldolgozásakor az Nginx új eseményt generál a hozzáférési naplóban. Minden eseményrekord tartalmaz egy időbélyeget, és különféle információkat tartalmaz az ügyféllel és a kért erőforrással kapcsolatban. A hozzáférési naplók megmutathatják a látogatók helyét, az általuk meglátogatott oldalt, az időt az oldalon töltik, és még sok minden mást.

A log_format irányelv lehetővé teszi a naplózott üzenetek formátumának meghatározását. Az access_log irányelv lehetővé teszi és beállítja a naplófájl helyét és a használt formátumot.

Az access_log irányelv legalapvetőbb szintaxisa a következő:

access_log log_file log_format;

Ahol a log_file a naplófájl teljes elérési útja, a log_format pedig a naplófájl által használt formátum.

A hozzáférési napló engedélyezhető a http , server vagy location blokkban is.

Alapértelmezés szerint a hozzáférési napló globálisan engedélyezve van a http irányelvben a fő Nginx konfigurációs fájlban.

/etc/nginx/nginx.conf

http {… access_log /var/log/nginx/access.log;… }

A jobb karbantarthatóság érdekében ajánlott külön hozzáférési naplófájlt állítani az egyes kiszolgálóblokkokhoz. A access_log irányelvben beállított access_log irányelv felülbírálja a http (magasabb szintű) irányelvben megadottkat.

/etc/nginx/conf.d/domain.com.conf

http {… access_log /var/log/nginx/access.log;… server { server_name domain.com access_log /var/log/nginx/domain.access.log;… } }

Ha nincs megadva napló formátum, az Nginx az előre meghatározott kombinált formátumot használja, amely így néz ki:

log_format combined '$remote_addr - $remote_user ' '"$request" $status $body_bytes_sent ' '"$http_referer" "$http_user_agent"';

A naplózási formátum megváltoztatásához felülírhatja az alapértelmezett beállítást, vagy határozhat meg egy újat. Például egy új, a main nevű naplózási formátum meghatározására, amely kibővíti a kombinált formátumot az X-Forwarded-For server X-Forwarded-For fejléc mutató értékével, és adja hozzá a következő meghatározást a http vagy a server irányelvhez:

log_format custom '$remote_addr - $remote_user "$request" ' '$status $body_bytes_sent "$http_referer" ' '"$http_user_agent" "$http_x_forwarded_for"';

Az új formátum használatához adja meg a nevét a naplófájl után, az alább látható módon:

access_log /var/log/nginx/access.log custom;

Bár a hozzáférési napló nagyon hasznos információkat tartalmaz. lemezterületet igényel, és befolyásolhatja a szerver teljesítményét. Ha a kiszolgálón kevés az erőforrás, és van egy elfoglalt webhely, akkor érdemes letiltani a hozzáférési naplót. Ehhez access_log off az access_log irányelv értékét:

access_log off;

A hibanapló konfigurálása

A Nginx üzeneteket ír az alkalmazásról és az általános kiszolgálóhibákról a hibanaplófájlban. Ha hibákat tapasztal a webalkalmazásban, akkor a hibanapló az első lépés a hibaelhárításhoz.

A error_log irányelv engedélyezi és beállítja a error_log helyét és súlyossági szintjét. A következő formában működik, és beállítható egy http , server vagy location blokkban:

error_log log_file log_level

A log_level paraméter beállítja a naplózás szintjét. Az alábbiakban felsoroljuk azokat a szinteket, amelyek súlyosságuk szerint vannak (alacsony és magas):

  • debug - üzenetek hibakeresése. info - információs üzenetek. notice - Értesítések. warn - figyelmeztetések. error - hibák a kérés feldolgozása közben. crit - Kritikus kérdések. Azonnali intézkedést igényel. alert - riasztások. A fellépést azonnal meg kell tenni. emerg - vészhelyzet. A rendszer használhatatlan állapotban van.

Minden naplószint magában foglalja a magasabb szinteket. Például, ha a naplózási szintet warn állítja, az Nginx a error , crit , alert és megjelenő üzeneteket is naplózza.

Ha a log_level paraméter nincs megadva, az alapértelmezés szerint error .

Alapértelmezés szerint a error_log irányelvet a http irányelv határozza meg a fő nginx.conf fájlban:

/etc/nginx/nginx.conf

http {… error_log /var/log/nginx/error.log;… }

Ugyanúgy, mint a hozzáférési naplók esetében, ajánlott minden szerverblokkhoz külön hibanapló-fájlt beállítani, amely felülbírálja a magasabb szintektől örökölt beállítást.

Például a domain.com hibanaplójának warn beállításához a következőket használja:

http {… error_log /var/log/nginx/error.log;… server { server_name domain.com error_log /var/log/nginx/domain.error.log warn;… } }

A konfigurációs fájl módosításakor újra kell indítania az Nginx szolgáltatást, hogy a változások érvénybe lépjenek.

A naplófájlok helye

Alapértelmezés szerint a legtöbb Linux disztribúción, például az Ubuntu, CentOS és Debian, a hozzáférési és hibanaplók a /var/log/nginx könyvtárban találhatók.

Az Nginx naplófájlok olvasása és megértése

A naplófájlokat megnyithatja és elemezheti olyan szokásos parancsokkal, mint a cat , less , grep , cut , awk stb.

Íme egy példa rekord a hozzáférési naplófájlból, amely az alapértelmezett Nginx naplóformátumot használja:

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"

Lebontjuk, mit jelent a rekord minden mezője:

  • $remote_addr - 192.168.33.1 - a kérelmet benyújtó ügyfél IP-címe. $remote_user - - - HTTP hitelesített felhasználó. Ha a felhasználónév nincs beállítva, akkor ez a mező a - jelet mutatja. - - Helyi szerver ideje. "$request" - "GET / - a kérés típusa, elérési útja és protokollja. $status - 200 - A szerver válaszkódja. $body_bytes_sent - 396 - A kiszolgáló válasz mérete byte-ban. "$http_referer" - "-" - Az áttétel URL-je. "$http_user_agent" - Mozilla/5.0… - Az ügyfél felhasználói ügynöke (webböngésző).

A tail parancs segítségével valós időben nézheti meg a naplófájlt:

tail -f access.log

Következtetés

A naplófájlok hasznos információkat nyújtanak a szerver problémáiról és arról, hogy a látogatók hogyan lépnek kapcsolatba az Ön webhelyével.

A Nginx lehetővé teszi a hozzáférési és hibanaplók konfigurálását az Ön igényei szerint.

nginx