မျက်မှောက်ခေတ် web application application များ၏ဗိသုကာများတွင် Load Balancing သည်စနစ်ရရှိမှု, စွမ်းဆောင်ရည်နှင့်ပမာဏကိုတိုးတက်စေရန်အရေးကြီးသောနည်းလမ်းဖြစ်သည်။ ဝက်ဘ်ဆာဗာများစွာသို့အသွားအလာဖြန့်ဝေခြင်းအားဖြင့်၎င်းသည်ဖိအားကိုထိထိရောက်ရောက်ကြုံတွေ့နိုင်ပြီးဝက်ဘ်ဆိုက်သည်မြင့်တက်လာသည့်လည်ပတ်မှုအောက်တွင်ဆက်လက်လုပ်ဆောင်နိုင်ကြောင်းသေချာစေသည်။ ဒီဆောင်းပါးက Nginx proxy server တွေကို docker ပတ် 0 န်းကျင်မှာ 0 င်ခွင့်ပတ်ဝန်းကျင်မှာ configure လုပ်ဖို့ Nginx Proxy ဆာဗာတွေကိုဘယ်လိုသုံးရမလဲဆိုတာအသေးစိတ်မိတ်ဆက်ပေးလိမ့်မယ်။
ပထမ ဦး စွာကျွန်ုပ်တို့သည် Docker နှင့် Nginx ကို install လုပ်ရန်လိုအပ်သည်။ installation နည်းလမ်းများအတွက် Docyer နှင့် Nginx ၏တရားဝင်စာရွက်စာတမ်းများကိုဖတ်ရှုပြီးသင်၏ operating system အရသင့်လျော်သောတပ်ဆင်မှုအဆင့်ကိုရွေးချယ်ပါ။
Load Balancing ကိုအကောင်အထည်ဖော်ခြင်းမပြုမီ, သင်သည်ဝဘ်ဆာဗာဖြစ်ရပ်များကိုပထမဆုံးဖန်တီးရန်လိုအပ်သည်။ ဝက်ဘ်ဆာဗာများစွာကိုဖြည့်ဆည်းရန် DODY ကိုသုံးပါမည်။ Web Server ပုံရိပ်များတည်ဆောက်ရန်အတွက်ရိုးရှင်းသော dockerfile တစ်ခုရှိသည်။
Nginx မှ: နောက်ဆုံးပေါ် Index.html / USR / Share / NGINX / NGINX / HTML / copy nginx.conf /etc/nginx/nginx.conf 80 expose
ဤ dockerfile တွင်တရားဝင် Nginx Image တွင် အခြေခံ. 0 က်ဘ်ဆာဗာပုံရိပ်ကိုတည်ဆောက်ပြီး index.html နှင့် nginx.conf ဖိုင်များကိုကွန်တိန်နာထဲသို့ကူးယူပါ။ သင်ပြသရန်လိုအပ်သည့်ဝက်ဘ်စာမျက်နှာများကို index.html တွင်ထားနိုင်သည်။ Nginx 0 န်ဆောင်မှု၏သက်ဆိုင်ရာ settings ကို configure လုပ်ရန် Nginx.conf ကိုအသုံးပြုသည်။
ထို့နောက် Load Balancing အောင်မြင်ရန် Nginx proxy server ကို configure လုပ်ရန်လိုအပ်သည်။ configuration file တစ်ခုကို Nginx.conf ဟုခေါ်သော configuration file တစ်ခုကို ဖန်တီး. အောက်ပါတို့ကိုထည့်ပါ။
http { အထက်ပြန် {{ Server Web1: 80; Server Web2: 80; } ဆာဗာ { နားထောင် 80 နားထောင်ပါ။ တည်နေရာ / { proxy_pass http: // backend; proxy_set_header အိမ်ရှင်, } } }
ဒီ configuration မှာ web1 server နှစ်ခု (Web1 နဲ့ Web2) ပါတဲ့ realend လို့ခေါ်တဲ့ upstream server group ကိုသတ်မှတ်ပါတယ်။ ဆာဗာပိတ်ပင်တားဆီးမှုတွင် Nginx proxy server 80 ဆိပ်ကမ်းကိုချည်နှောင်ပြီး proxy_pass ညွှန်ကြားချက်မှတဆင့် backend group သို့ရှေ့သို့ဆွဲယူသည်။ Proxy_set_header သည်တောင်းဆိုထားသော host header ကိုမှန်ကန်စွာဖြတ်သန်းသွားစေရန်သေချာစေရန်အသုံးပြုသည်။
Nginx configuration ကိုပြီးဆုံးသွားသောအခါဝက်ဘ်ဆာဗာနှင့် Nginx Proxy server ကို Thinker မှတဆင့်စတင်နိုင်သည်။ ပထမ ဦး စွာဝက်ဘ်ဆာဗာပုံရိပ်ကိုတည်ဆောက်ပြီးအောက်ပါ command ကို execute လုပ်ပါ။
Docker Build -t ဝက်ဘ်ဆာဗာ။
ထို့နောက်ဝဘ်ဆာဗာများအနက်မျိုးစုံကိုဖွင့်ပါ။ အောက်ပါ command ကိုကွပ်မျက်ခြင်းဖြင့်ဝက်ဘ်ဆာဗာနှစ်ခုကိုသင်စတင်နိုင်သည်။
Docyer Run -d - NEW1 Web-Server DOCKER RIP -D -D - NEW2 ဝက်ဘ်ဆာဗာ
ထို့နောက် Nginx proxy server ဥပမာအားဖြင့်အောက်ပါ command ကို Execute လုပ်ပါ။
Docyer Run -d -p 80:80 - nginx-proxy -linx-proxy -link web1 -link web2 nginx
ဤတွင် --link parameter သည် Nginx proxy server ကို Nginx proxy server ကို web server ဖြစ်ရပ်နှစ်ခုသို့ဆက်သွယ်သည်။ ဤနည်းအားဖြင့် Nginx သည် 0 က်ဘ်ဆာဗာသို့အညီအမျှအညီအမျှဖြန့်ဝေနိုင်သည်။
ယခုသင်သည်သင်၏ browser မှတစ်ဆင့်သင်၏ browser မှတစ်ဆင့်သင်၏ browser မှတဆင့် Nginx Proxy Server ၏ IP လိပ်စာသို့မဟုတ်ဒိုမိန်းအမည်အမည်ကိုရယူနိုင်သည်။ တောင်းဆိုမှုတစ်ခုစီကို Nginx Proxy server မှ 0 က်ဘ်ဆာဗာတွင်ကွဲပြားသော 0 က်ဘ်ဆိုက်ဆာဗာဥပမာအားဖြင့်ပေးပို့ခြင်း,
တောင်းဆိုမှုများကိုအညီအမျှအညီအမျှခွဲဝေသတ်မှတ်ခြင်းရှိမရှိအတည်ပြုရန်ဝက်ဘ်ဆာဗာကွန်တိန်နာ၏မှတ်တမ်းများကိုသင်စစ်ဆေးနိုင်သည်။
docker logs web1 Docyer logs web2
Docker နှင့် Nginx proxy ဆာဗာများကိုပေါင်းစပ်ခြင်းအားဖြင့်ကျွန်ုပ်တို့သည် 0 က်ဘ်ဆာဗာများစွာကိုအလွယ်တကူရရှိနိုင်သည်။ ဤနည်းလမ်းသည်လည်ပတ်ရန်ရိုးရှင်းရုံသာမက Web application အများစု၏လိုအပ်ချက်များကိုဖြည့်ဆည်းပေးနိုင်သည့်ပြောင်းလွယ်ပြင်လွယ်မှုနှင့်ပမာဏမြင့်မားသည်။ ဒီဆောင်းပါးရဲ့အကြောင်းအရာကသင့်အတွက်အထောက်အကူဖြစ်လိမ့်မယ်လို့ကျွန်တော်မျှော်လင့်ပါတယ်။