Nginx သည်စွမ်းဆောင်ရည်မြင့်မားသော open source web server နှင့်အကြီးစားဝက်ဘ်ဆိုက်ဗိသုကာများတွင်ကျယ်ကျယ်ပြန့်ပြန့်အသုံးပြုသော Reverse Proxy Server ဖြစ်သည်။ စနစ်ကိုတည်ငြိမ်သောလည်ပတ်မှုနှင့်စွမ်းဆောင်ရည်ကိုပိုမိုကောင်းမွန်စေရန်သေချာစေရန်အတွက်ဝက်ဘ်ဝန်ဆောင်မှု၏တောင်းဆိုမှုမှတ်တမ်းကိုမှတ်တမ်းတင်ရန်နှင့်ခွဲခြမ်းစိတ်ဖြာရန်လိုအပ်သည်။ ဤဆောင်းပါးသည် Nginx Proxy ဆာဗာမှတစ်ဆင့်တောင်းဆိုမှုမှတ်တမ်းများကိုမှတ်တမ်းတင်ရန်နှင့်ခွဲခြမ်းစိတ်ဖြာခြင်းနှင့်ခွဲခြမ်းစိတ်ဖြာခြင်းနှင့်အချို့သောဘုံကိရိယာများမှတစ်ဆင့်မှတ်တမ်းခွဲခြမ်းစိတ်ဖြာခြင်းကိုမည်သို့လုပ်ဆောင်ရမည်ကိုအသေးစိတ်မိတ်ဆက်ပေးပါမည်။
ပထမ ဦး စွာကျွန်ုပ်တို့သည် Nginx configuration file တွင်တောင်းဆိုထားသော logging feature ကို enable လုပ်ရန်လိုအပ်သည်။ Nginx configuration file `` etc / etc / nginx / nginx.cinx.conf` 'ကိုဖွင့်ပြီးအောက်ပါ configuration ကို HTTP Block တွင်ထည့်ပါ။
http { ... log_format အဓိက '$ remote_addr - $ remote_user [$ time_local] "$ တောင်းဆိုမှု' '$ status ကို $ body_bytes_sent "$ http_referer"' '"$ http_user_agent" "$ http_x_forwarded_for"; access_log /var/log/nginx/access.log အဓိက, ... }
အထက်ပါဖွဲ့စည်းမှုသည် `log_format` ကိုအသုံးပြုသည်။ Client IP, တောင်းခံရန်အချိန်, တောင်းဆိုမှုနည်းစနစ်, status code and to log in` `action_log format ကို အသုံးပြု. ` active_log `` `active_log` ညွှန်ကြားချက်ကိုသုံးပါ။
ထို့နောက် Nginx ၏ပြောင်းပြန် proxy function ကို backend web service သို့ proxy လုပ်ရန် Nginx ၏ပြောင်းပြန် proxy function ကို configure လုပ်ရန်လိုအပ်သည်။ Nginx configuration file ကိုဖွင့်ပြီးအောက်ပါ configuration ကို server block တွင်ထည့်ပါ။
ဆာဗာ { ... တည်နေရာ / { proxy_pass http: // backend; proxy_set_header အိမ်ရှင်, Proxy_set_header X-Real-IP $ remote_addr; ... } ... }
ဤပြင်ဆင်မှုတွင်တည်နေရာ / `ဆိုသည် -` တောင်းဆိုမှုအားလုံးကို backend web service ကို proxyed လိမ့်မည်ဟုဆိုလိုသည် (ဥပမာ - http: // backend's) `Proxy_set_header` ကိုအိမ်ရှင်နှင့် X-Real-IP တို့စသည့်တောင်းဆိုမှုခေါင်းစဉ်များသတ်မှတ်ရန်အသုံးပြုသည်။
တောင်းဆိုမှုမှတ်တမ်းကိုခွဲခြမ်းစိတ်ဖြာရန်အတွက်ကျွန်ုပ်တို့သည် command line tools များဖြစ်သော `` `grep`` `` `sort`` sort`` sort`` sort`` sort`` ကို sort`` ။ အချို့သောအချိန်ကာလတစ်ခုအတွင်းကွဲပြားခြားနားသောလုပ်ဖော်ကိုင်ဖက်များသို့လည်ပတ်မှုအရေအတွက်ကိုရေတွက်ရန်ရိုးရှင်းသောဥပမာတစ်ခုဖြစ်သည်။
$ awk -v = "20222-01-01 00:00:00:00" -v to = "20222-01-01 23:59:59 '$ 4> =& 4 <= {Print $ 1} မှ {ပုံနှိပ် $ 1}' /var/log/ngcess.log | ' စီ | Uniq -c | Sort -rn
ဤ command တွင် `` atk` ကိုအချိန်အကွာအဝေးပေါ် အခြေခံ. မှတ်တမ်းများကိုစစ်ထုတ်ရန်အသုံးပြုသည်။ ထို့နောက် IP address များကို `sort`` uni`` uni`` uni` uni` uni` uni` uni` uni` uni` uni` uni`` `` sort -rn` ကို viscits အရေအတွက်အရအနိမ့်ဆုံးအနေဖြင့်ခွဲထားတယ်။
အထက်ပါအဆင့်များမှတစ်ဆင့်ကျွန်ုပ်တို့သည် Nginx proxy server ၏ 0 က်ဘ်တောင်းဆိုမှုသစ်ထုတ်လုပ်ခြင်းနှင့်ခွဲခြမ်းစိတ်ဖြာခြင်းလုပ်ငန်းများကိုအောင်မြင်စွာအကောင်အထည်ဖော်နိုင်ပါသည်။ ဆင်ခြင်တုံတရားကိုမှတ်တမ်းခွဲခြမ်းစိတ်ဖြာခြင်းကိရိယာများနှင့်ပြန်လည်ပြုပြင်ပြောင်းလဲမှုကိုပြင်ဆင်ခြင်းအားဖြင့် Nginx ၏သစ်ထုတ်လုပ်ရေး proxy function များကို configure လုပ်ခြင်းဖြင့်ကျွန်ုပ်တို့သည် 0 န်ဆောင်မှု 0 န်ဆောင်မှုများ၏စွမ်းဆောင်ရည်ကိုပိုမိုကောင်းမွန်စွာကြည့်ရှုနိုင်အောင်ပိုမိုကောင်းမွန်အောင်ပြုလုပ်နိုင်သည်။ သင်၏ 0 န်ဆောင်မှုများကိုပိုမိုထိရောက်စွာစီမံခန့်ခွဲရန်အတွက်ဤဆောင်းပါးသည်ဤဆောင်းပါးမှတစ်ဆင့် Nginx log configuration နှင့်ခွဲခြမ်းစိတ်ဖြာခြင်းစွမ်းရည်များကိုကျွမ်းကျင်နိုင်မည်ဟုကျွန်ုပ်မျှော်လင့်ပါသည်။