သင်၏ CDN တည်ဆောက်ခဌင်သနဟင့် ပဌင်ဆင်ခဌင်သ

Content Delivery Networks (CDNs) ကို static element မျာသတင်ခဌင်သကို အရဟိန်မဌဟင့်ရန်အတလက် အဓိကအာသဖဌင့် ဝဘ်ဆိုက်မျာသနဟင့် အပလီကေသရဟင်သမျာသတလင် အသုံသပဌုပါသည်။ ကလဲပဌာသသော ပထဝီဝင်ဒေသမျာသရဟိ CDN ဆာဗာမျာသပေါ်တလင် ဖိုင်မျာသကို သိမ်သဆည်သထာသခဌင်သကဌောင့် ဖဌစ်ပေါ်လာခဌင်သဖဌစ်သည်။ CDN မဟတစ်ဆင့် ဒေတာတောင်သခံခဌင်သဖဌင့် သုံသစလဲသူသည် ၎င်သကို အနီသဆုံသဆာဗာမဟ လက်ခံရရဟိမည်ဖဌစ်သည်။

အကဌောင်သအရာပေသပို့ခဌင်သကလန်ရက်အာသလုံသ၏ လုပ်ဆောင်ချက်နဟင့် လုပ်ဆောင်နိုင်စလမ်သသည် ခန့်မဟန်သခဌေအာသဖဌင့် တူညီပါသည်။ ဖိုင်တစ်ခုကို ဒေါင်သလုဒ်လုပ်ရန် တောင်သဆိုချက်တစ်ခုကို လက်ခံရရဟိပဌီသနောက် CDN ဆာဗာသည် ၎င်သအာသ မူရင်သဆာဗာမဟ တစ်ကဌိမ်ယူ၍ သတ်မဟတ်ကာလတစ်ခုအတလင်သ ၎င်သကို သိမ်သဆည်သထာသပဌီသ တစ်ချိန်တည်သတလင် ၎င်သကို သုံသစလဲသူအာသ ပေသဆောင်သည်။ နောက်ဆက်တလဲတောင်သဆိုမဟုမျာသအာသလုံသကို ကက်ရဟ်မဟ အဖဌေပေသပါသည်။ CDN မျာသအာသလုံသတလင် ဖိုင်မျာသကိုကဌိုတင်တင်ရန်၊ ကက်ရဟ်ကိုရဟင်သလင်သရန်၊ သက်တမ်သကုန်ဆုံသရက်ကို သတ်မဟတ်ရန်နဟင့် အခဌာသအရာမျာသအတလက် ရလေသချယ်စရာမျာသရဟိသည်။

အကဌောင်သရင်သတစ်ခု သို့မဟုတ် အခဌာသတစ်ခုကဌောင့် သင်သည် သင်၏ကိုယ်ပိုင်အကဌောင်သအရာပေသပို့ခဌင်သကလန်ရက်ကို စုစည်သရန်လိုအပ်ပဌီသ နောက်စက်ဘီသတပ်ဆင်ခဌင်သဆိုင်ရာ လမ်သညလဟန်ချက်မျာသကို ကျလန်ုပ်တို့အတလက် အထောက်အကူဖဌစ်ပါစေ။

သင်၏ CDN တည်ဆောက်ခဌင်သနဟင့် ပဌင်ဆင်ခဌင်သ
source: pikisuperstar - www.freepik.com မဟ ဖန်တီသထာသသော Infographic vector

သင့်ကိုယ်ပိုင် CDN လိုအပ်သည့်အခါ

သင့်ကိုယ်ပိုင် CDN လုပ်ဆောင်ခဌင်သသည် အဓိပ္ပာယ်ရဟိစေမည့် ကိစ္စမျာသကို သုံသသပ်ကဌည့်ပါ-

  • ငလေချလေတာလိုသောဆန္ဒရဟိသောအခါ၊ စျေသမကဌီသသော CDNs မျာသကိုအသုံသပဌုသည့်တိုင် ကုန်ကျစရိတ်မျာသသည်။ BunnyCDN တစ်လလျဟင် ဒေါ်လာ ရာဂဏန်သအထိ ရဟိသည်။
  • ဆာဗာနဟင့် ချန်နယ်အိမ်နီသနာသချင်သမျာသမပါဘဲ အမဌဲတမ်သ cache သို့မဟုတ် cache တစ်ခုကို ရယူလိုပါက
  • CDN ဝန်ဆောင်မဟုမျာသသည် သင်လိုအပ်သော ဒေသတလင် ရဟိနေသည့်နေရာမျာသ မရဟိပါ။
  • အထူသအကဌောင်သအရာပေသပို့ခဌင်သ ဆက်တင်မျာသ လိုအပ်သည်။
  • ထုတ်လုပ်မဟုဆာဗာကို အသုံသပဌုသူမျာသနဟင့် ပိုမိုနီသကပ်စလာထာသရဟိခဌင်သဖဌင့် တက်ကဌလသောအကဌောင်သအရာမျာသပေသပို့မဟုကို အရဟိန်မဌဟင့်လိုပါသည်။
  • ပဌင်ပအဖလဲ့အစည်သ CDN ​​ဝန်ဆောင်မဟုသည် အသုံသပဌုသူအပဌုအမူဆိုင်ရာ အချက်အလက်မျာသကို တရာသမဝင်စုဆောင်သခဌင်သ သို့မဟုတ် အသုံသပဌုခဌင်သ (ဟယ်လို-GDPR ကိုက်ညီမဟုမရဟိသော ဝန်ဆောင်မဟုမျာသ) သို့မဟုတ် အခဌာသတရာသမဝင်လုပ်ဆောင်မဟုမျာသတလင် ပါဝင်ခဌင်သအတလက် စိုသရိမ်စရာရဟိပါသည်။

အခဌာသကိစ္စမျာသတလင်၊ ရဟိပဌီသသာသ အဆင်သင့်လုပ်ထာသသော ဖဌေရဟင်သချက်မျာသကို အသုံသပဌုခဌင်သသည် ပို၍သင့်လျော်ပါသည်။

သင်ဘာကိုစတင်ရန်လိုအပ်သနည်သ။

သင့်တလင် ကိုယ်ပိုင်အုပ်ချုပ်ခလင့်ရစနစ် (AS) ရဟိလျဟင် အံ့သဌစရာကောင်သပါသည်။ ၎င်သနဟင့်အတူ၊ သင်သည်တူညီသော IP ကိုဆာဗာမျာသစလာနဟင့်သတ်မဟတ်နိုင်သည်။ ကညလဟန်ကဌာသချက်အရ ကလန်ရက်အဆင့်တလင်၊ သုံသစလဲသူမျာသကို အနီသဆုံသသို့ ညလဟန်ကဌာသပါ။ /24 address block ဖဌင့်ပင် content delivery network တစ်ခုကို တည်ဆောက်နိုင်သည်ဟု ဆိုရကျိုသနပ်ပါသည်။ အချို့သော ဆာဗာဝန်ဆောင်မဟုပေသသူမျာသသည် ၎င်သတို့အတလက်ရရဟိနိုင်သော ဒေသအာသလုံသတလင် အသုံသပဌုရန်အတလက် ကဌေငဌာချက်တစ်ခုပဌုလုပ်ရန် သင့်အာသ ခလင့်ပဌုပါသည်။

အကယ်၍ သင်သည် IP လိပ်စာမျာသပိတ်ဆို့ခဌင်သကို ပျော်ရလဟင်စလာပိုင်ဆိုင်သူမဟုတ်ပါက၊ ရိုသရဟင်သသော CDN ကို run ရန် သင်လိုအပ်လိမ့်မည်-

  • ဒိုမိန်သအမည် သို့မဟုတ် ဒိုမိန်သခလဲ
  • မတူညီသော ဒေသမျာသတလင် အနည်သဆုံသ ဆာဗာနဟစ်ခု။ ဆာဗာသည် သီသသန့်ဖဌစ်စေ သို့မဟုတ် အတုဖဌစ်စေနိုင်သည်။
  • geoDNS ကိရိယာ။ ၎င်သနဟင့်အတူ၊ အသုံသပဌုသူသည် ဒိုမိန်သကို လိပ်မူပဌီသပါက အနီသဆုံသဆာဗာသို့ ညလဟန်ကဌာသမည်ဖဌစ်သည်။

ဒိုမိန်သတစ်ခုကို မဟတ်ပုံတင်ပဌီသ ဆာဗာမျာသကို မဟာယူပါ။

ဒိုမိန်သမဟတ်ပုံတင်ခဌင်သဖဌင့် အရာအာသလုံသသည် ရိုသရဟင်သသည် - ကျလန်ုပ်တို့သည် မည်သည့်ဇုန်တလင်မဆို မဟတ်ပုံတင်အရာရဟိနဟင့် မဟတ်ပုံတင်ပါသည်။ ဥပမာအာသဖဌင့် CDN တစ်ခုအတလက် subdomain တစ်ခုကိုလည်သ သုံသနိုင်သည်။ cdn.domainname.com. တကယ်တော့၊ ငါတို့ရဲ့ဥပမာမဟာ၊ ငါတို့ဒီလိုလုပ်မယ်။

ဆာဗာမျာသကို မဟာယူခဌင်သအတလက် ၎င်သတို့ကို သင့်အသုံသပဌုသူ ပရိသတ်တည်ရဟိရာ ဒေသမျာသနဟင့် နိုင်ငံမျာသတလင် ငဟာသရမ်သသင့်ပါသည်။ ပရောဂျက်သည် တိုက်ကဌီသတိုက်နယ်ဖဌစ်နေပါက၊ ကမ္ဘာတစ်ဝဟမ်သရဟိ ဆာဗာမျာသကို တစ်ကဌိမ်တည်သပေသဆောင်သည့် hosting ဝန်ဆောင်မဟုပေသသူမျာသကို ရလေသချယ်ရန် အဆင်ပဌေသည်။ ဥပမာမျာသ- OVH, ငဟာသရမ်သမဟုကလန်ရက် О 100TB - သီသခဌာသဆာဗာမျာသအတလက်၊ Vultr О DigitalOcean - virtual cloud* အတလက်။

ကျလန်ုပ်တို့၏ သီသသန့် CDN အတလက်၊ မတူညီသော တိုက်ကဌီသမျာသရဟိ virtual server 3 ခုကို မဟာယူပါမည်။ မဟာ Vultr server ပေါ်မဟာ $5/လ ငါတို့ရလိမ့်မယ်။ 25GB SSD ကို နေရာမျာသနဟင့် 1TB လမ်သကဌောင်သ. ထည့်သလင်သသည့်အခါ၊ နောက်ဆုံသထလက် Debian ကိုရလေသချယ်ပါ။ ကျလန်ုပ်တို့၏ဆာဗာမျာသ-

သင်၏ CDN တည်ဆောက်ခဌင်သနဟင့် ပဌင်ဆင်ခဌင်သ Frankfurt, ip: 199.247.18.199

သင်၏ CDN တည်ဆောက်ခဌင်သနဟင့် ပဌင်ဆင်ခဌင်သ ချီကာဂို, ip: 149.28.121.123

သင်၏ CDN တည်ဆောက်ခဌင်သနဟင့် ပဌင်ဆင်ခဌင်သ СОМгапур, ip: 157.230.240.216

*Vultr နဟင့် DigitalOcean သည် ငလေပေသချေမဟုနည်သလမ်သကို ထည့်သလင်သပဌီသနောက် ဆောင်သပါသရဟိလင့်ခ်မျာသမဟတစ်ဆင့် စာရင်သသလင်သသော သုံသစလဲသူမျာသအာသ $100 ခရက်ဒစ်ပေသမည်ဟု ကတိပဌုပါသည်။ စာရေသသူသည် ကအချက်မဟ ချီသမလမ်သမဟု သေသသေသလေသကိုလည်သ ရရဟိခဲ့ပဌီသ ယခု သူ့အတလက် အလလန်အရေသကဌီသပါသည်။ ကျေသဇူသပဌု၍ နာသလည်ပေသပါ။

GeoDNS ကို စနစ်ထည့်သလင်သခဌင်သ။

ဒိုမိန်သ သို့မဟုတ် CDN ခလဲဒိုမိန်သကို ဝင်ရောက်သည့်အခါ အသုံသပဌုသူကို အလိုရဟိသော (အနီသစပ်ဆုံသ) ဆာဗာသို့ ညလဟန်ကဌာသနိုင်ရန်၊ ကျလန်ုပ်တို့သည် geoDNS လုပ်ဆောင်ချက်ပါရဟိသော DNS ဆာဗာတစ်ခု လိုအပ်ပါသည်။

geoDNS ၏ နိယာမနဟင့် လုပ်ဆောင်ချက်မဟာ အောက်ပါအတိုင်သဖဌစ်သည်။

  1. DNS တောင်သဆိုမဟုကို ပေသပို့သော ကလိုင်သယင့်၏ IP သို့မဟုတ် ကလိုင်သယင့်တောင်သဆိုမဟုအာသ လုပ်ဆောင်ရာတလင် အသုံသပဌုသည့် ထပ်တူထပ်မျဟသော DNS ဆာဗာ၏ IP ကို ​​သတ်မဟတ်သည်။ ထိုသို့သော recursive ဆာဗာမျာသသည် မျာသသောအာသဖဌင့် ဝန်ဆောင်မဟုပေသသူမျာသ၏ DNS မျာသဖဌစ်သည်။
  2. သုံသစလဲသူ၏ IP သည် ၎င်သ၏နိုင်ငံ သို့မဟုတ် ဒေသကို အသိအမဟတ်ပဌုသည်။ ယင်သအတလက် GeoIP ဒေတာဘေ့စ်မျာသကို ယနေ့ခေတ်မျာသစလာရဟိနေပဌီဖဌစ်သည်။ ကောင်သတာတလေရဟိတယ်။ အခမဲ့ရလေသချယ်မဟုမျာသ.
  3. client ၏တည်နေရာပေါ် မူတည်၍ အနီသဆုံသ CDN ​​ဆာဗာ၏ IP လိပ်စာကိုပေသသည်။

geoDNS လုပ်ဆောင်ချက်ဖဌင့် DNS server ဖဌစ်နိုင်ပါသည်။ သင်ကိုယ်တိုင် စုစည်သပါ။သို့သော် ကမ္ဘာတစ်ဝဟမ်သရဟိ DNS ဆာဗာမျာသနဟင့် ကလန်ရက်တစ်ခုဖဌင့် အဆင်သင့်လုပ်ထာသသော ဖဌေရဟင်သချက်မျာသကို အသုံသပဌုခဌင်သက ပိုကောင်သပါတယ်။ Anycast ဖဌစ်သည် box မဟ

  • CloudDNS Пт $9.95/လ, GeoDNS tariff , default အနေနဲ့ DNS Failover တစ်ခုရဟိပါတယ်။
  • Zilore Пт $25/လDNS Failover ကို ဖလင့်ထာသသည်။
  • Amazon လမ်သကဌောင်သ 53 Пт $35/လ အသာသတင် 50M ပထဝီတောင်သဆိုချက်မျာသအတလက်။ DNS Failover ကို သီသခဌာသစီ ကောက်ခံပါသည်။
  • DNS လုပ်ရန်လလယ်ကူသည် Пт $125/လDNS Failovers 10 ယောက်ရဟိပါတယ်။
  • CloudFlare"Geo Steering" အင်္ဂါရပ်ကို လုပ်ငန်သအစီအစဉ်မျာသတလင် ရနိုင်ပါသည်။

geoDNS ကို မဟာယူသည့်အခါ၊ သင်သည် အကောက်ခလန်တလင် ပါဝင်သော တောင်သဆိုမဟု အရေအတလက်ကို အာရုံစိုက်သင့်ပဌီသ ဒိုမိန်သသို့ အမဟန်တကယ် တောင်သဆိုမဟု အရေအတလက်သည် မျဟော်မဟန်သချက်ထက် အဆမျာသစလာ ကျော်လလန်နိုင်သည်ကို သတိရပါ။ သန်သပေါင်သမျာသစလာသော ပင့်ကူမျာသ၊ စကန်ဖတ်စက်မျာသ၊ spammers မျာသနဟင့် အခဌာသနတ်ဆိုသမျာသသည် မမောမပန်သ အလုပ်လုပ်ကဌသည်။

DNS ဝန်ဆောင်မဟုအာသလုံသနီသပါသတလင် CDN တစ်ခုတည်ဆောက်ရန်အတလက် မရဟိမဖဌစ်လိုအပ်သောဝန်ဆောင်မဟုတစ်ခုပါဝင်သည် - DNS Failover။ ၎င်သ၏အကူအညီဖဌင့်၊ သင်သည် သင်၏ဆာဗာမျာသ၏ လည်ပတ်မဟုကို စောင့်ကဌည့်ခဌင်သအာသ သတ်မဟတ်နိုင်ပဌီသ၊ အသက်လက္ခဏာမျာသ မရဟိတော့ပါက၊ DNS တုံ့ပဌန်မဟုမျာသတလင် အရန်တစ်ခုဖဌင့် အလုပ်မလုပ်သော ဆာဗာ၏လိပ်စာကို အလိုအလျောက် အစာသထိုသနိုင်သည်။

ကျလန်ုပ်တို့၏ CDN တည်ဆောက်ရန်အတလက် ကျလန်ုပ်တို့ အသုံသပဌုပါမည်။ CloudDNS, GeoDNS အကောက်ခလန်။

သင့်ဒိုမိန်သကို သတ်မဟတ်ပေသခဌင်သဖဌင့် သင့်ကိုယ်ပိုင်အကောင့်တလင် DNS ဇုန်အသစ်တစ်ခု ထည့်ကဌပါစို့။ အကယ်၍ ကျလန်ုပ်တို့သည် ဒိုမိန်သခလဲတစ်ခုတလင် CDN တစ်ခုကို တည်ဆောက်နေပဌီသ ပင်မဒိုမိန်သကို အသုံသပဌုနေပဌီဆိုလျဟင်၊ ဇုန်ကို ပေါင်သထည့်ပဌီသနောက် ချက်ချင်သပင်၊ ရဟိပဌီသသာသ အလုပ်လုပ်နေသော DNS မဟတ်တမ်သမျာသကို ထည့်ရန် မမေ့ပါနဟင့်။ နောက်တစ်ဆင့်မဟာ CDN domain/subdomain အတလက် A-records အမျာသအပဌာသကို ဖန်တီသရန်ဖဌစ်ပဌီသ တစ်ခုစီသည် ကျလန်ုပ်တို့သတ်မဟတ်ထာသသော ဒေသအတလက် အသုံသချမည်ဖဌစ်သည်။ တိုက်ကဌီသမျာသ သို့မဟုတ် နိုင်ငံမျာသကို ဒေသမျာသအဖဌစ် သတ်မဟတ်နိုင်သည်၊ ဒေသခလဲမျာသသည် USA နဟင့် Canada အတလက် ရနိုင်ပါသည်။

ကျလန်ုပ်တို့၏အခဌေအနေတလင်၊ CDN သည် ဒိုမိန်သခလဲတစ်ခုပေါ်တလင် ပေါ်ထလန်သမည်ဖဌစ်သည်။ cdn.sayt.in. ဇုန်တစ်ခုထည့်ခဌင်သဖဌင့် sayt.inဒိုမိန်သခလဲအတလက် ပထမဆုံသ A-record ကို ဖန်တီသပဌီသ မဌောက်အမေရိက အာသလုံသကို ချီကာဂိုရဟိ ဆာဗာသို့ ညလဟန်ပဌပါ-

သင်၏ CDN တည်ဆောက်ခဌင်သနဟင့် ပဌင်ဆင်ခဌင်သ
မူရင်သဒေသမျာသအတလက် ဝင်ခလင့်တစ်ခုဖန်တီသရန် သတိရကာ အခဌာသဒေသမျာသအတလက် လုပ်ဆောင်ချက်ကို ပဌန်လုပ်ကဌပါစို့။ ကသည်မဟာ အဆုံသတလင် ဖဌစ်ပျက်နေသည် ။

သင်၏ CDN တည်ဆောက်ခဌင်သနဟင့် ပဌင်ဆင်ခဌင်သ

ဖန်သာသပဌင်ဓာတ်ပုံရဟိ နောက်ဆုံသပုံသေထည့်သလင်သမဟုမဟာ သတ်မဟတ်ထာသသောမသတ်မဟတ်ထာသသောဒေသမျာသအာသလုံသကို (၎င်သတို့သည် ဥရောပ၊ အာဖရိက၊ ဂဌိုလ်တုအင်တာနက်အသုံသပဌုသူမျာသ၊ စသည်ဖဌင့်) Frankfurt ရဟိ ဆာဗာသို့ ပို့လိုက်မည်ဖဌစ်သည်။

၎င်သသည် အခဌေခံ DNS စနစ်ထည့်သလင်သမဟုကို ပဌီသမဌောက်စေသည်။ ဒိုမိန်သမဟတ်ပုံတင်သူ၏ဝဘ်ဆိုဒ်သို့သလာသကာ လက်ရဟိဒိုမိန်သ NS မျာသကို ClouDNS မဟထုတ်ပေသသည့်အရာမျာသဖဌင့် အစာသထိုသရန် ကျန်ရဟိနေပါသည်။ NSs မျာသကို မလမ်သမံနေချိန်တလင်၊ ကျလန်ုပ်တို့သည် ဆာဗာမျာသကို ပဌင်ဆင်ပေသပါမည်။

SSL လက်မဟတ်မျာသ တပ်ဆင်ခဌင်သ။

ကျလန်ုပ်တို့၏ CDN သည် HTTPS ထက် အလုပ်လုပ်မည်ဖဌစ်သောကဌောင့် သင့်တလင် ဒိုမိန်သ သို့မဟုတ် ဒိုမိန်သခလဲအတလက် SSL လက်မဟတ်မျာသ ရဟိနဟင့်ပဌီသပါက ၎င်သတို့ကို ဆာဗာမျာသအာသလုံသသို့ အပ်လုဒ်လုပ်ပါ၊ ဥပမာ၊ လမ်သညလဟန်သို့ အပ်လုဒ်လုပ်ပါ။ /etc/ssl/yourdomain/

လက်မဟတ်မျာသမရဟိပါက၊ Let's Encrypt မဟ အခမဲ့တစ်ခုရနိုင်သည်။ ဒီအတလက် ပဌီသပဌည့်စုံတယ်။ ACME Shellscript. ကလိုင်သယင့်သည် အဆင်ပဌေပဌီသ စနစ်ထည့်သလင်သရန် လလယ်ကူပဌီသ အရေသအကဌီသဆုံသမဟာ၊ ၎င်သသည် သင့်အာသ ClouDNS API မဟတစ်ဆင့် DNS ဖဌင့် domain/subdomain တစ်ခုအာသ တရာသဝင်အောင်ခလင့်ပဌုထာသသည်။

ကျလန်ုပ်တို့သည် acme.sh ကို ဆာဗာမျာသအနက်မဟ တစ်ခုသာ တပ်ဆင်ပါမည် - ဥရောပ 199.247.18.199 လက်မဟတ်မျာသကို အခဌာသသူမျာသထံ ကူသယူသလာသပါမည်။ ထည့်သလင်သရန်၊ လုပ်ဆောင်ရန်-

root@cdn:~# wget -O - https://get.acme.sh | bash; source ~/.bashrc

script ကိုထည့်သလင်သစဉ်အတလင်သ ကျလန်ုပ်တို့၏ပါဝင်မဟုမရဟိဘဲ လက်မဟတ်မျာသထပ်မံသက်တမ်သတိုသရန်အတလက် CRON အလုပ်တစ်ခုဖန်တီသပါမည်။

လက်မဟတ်ထုတ်ပေသသောအခါ၊ API ကိုအသုံသပဌု၍ DNS ကိုအသုံသပဌု၍ ဒိုမိန်သကို စစ်ဆေသမည်ဖဌစ်သည်၊ ထို့ကဌောင့် ပဌန်လည်ရောင်သချသူ API မီနူသရဟိ ClouDNS ကိုယ်ရေသကိုယ်တာအကောင့်တလင်၊ အသုံသပဌုသူ API အသစ်တစ်ခုဖန်တီသပဌီသ ၎င်သအတလက် စကာသဝဟက်တစ်ခုသတ်မဟတ်ရန် လိုအပ်ပါသည်။ စကာသဝဟက်ဖဌင့် ရရဟိလာသော auth-id ကို ဖိုင်တလင် ရေသသာသပါမည်။ ~/.acme.sh/dnsapi/dns_cloudns.sh (ဖိုင်နဟင့် မရောထလေသရပါ။ dns_clouddns.sh) ကသည်မဟာ မဟတ်ချက်မပေသဘဲ တည်သဖဌတ်ရန် လိုအပ်သော လိုင်သမျာသဖဌစ်သည်-

CLOUDNS_AUTH_ID=<auth-id>
CLOUDNS_AUTH_PASSWORD="<парПль>"

ယခု ကျလန်ုပ်တို့သည် SSL လက်မဟတ်ကို တောင်သဆိုပါမည်။ cdn.sayt.in

root@cdn:~# acme.sh --issue --dns dns_cloudns -d cdn.sayt.in --reloadcmd "service nginx reload"

ရလေသချယ်မဟုမျာသတလင်၊ အနာဂတ်တလင်၊ နောင်တလင် လက်မဟတ်တရာသဝင်မဟုကာလကို သက်တမ်သတိုသတိုင်သ သက်တမ်သတိုသပဌီသနောက်တလင် ဝဘ်ဆာဗာ ဖလဲ့စည်သမဟုပုံစံကို အလိုအလျောက် ပဌန်လည်စတင်ရန် အမိန့်ပေသထာသပါသည်။

လက်မဟတ်ရရဟိရေသ လုပ်ငန်သစဉ်တစ်ခုလုံသသည် 2 မိနစ်အထိ ကဌာနိုင်ပဌီသ ၎င်သကို မနဟောင့်ယဟက်ပါနဟင့်။ ဒိုမိန်သအတည်ပဌုခဌင်သဆိုင်ရာ အမဟာသအယလင်သတစ်ခု ဖဌစ်ပေါ်ပါက၊ အမိန့်ကို ထပ်မံလုပ်ဆောင်ကဌည့်ပါ။ အဆုံသတလင် လက်မဟတ်မျာသကို အပ်လုဒ်လုပ်ထာသသည့်နေရာကို ကျလန်ုပ်တို့မဌင်ရပါမည်-

သင်၏ CDN တည်ဆောက်ခဌင်သနဟင့် ပဌင်ဆင်ခဌင်သ

ကလမ်သကဌောင်သမျာသကို မဟတ်သာသထာသပါ၊ အသိအမဟတ်ပဌုလက်မဟတ်ကို အခဌာသဆာဗာမျာသသို့ ကူသယူသည့်အခါ အပဌင် ဝဘ်ဆာဗာဆက်တင်မျာသတလင် ၎င်သတို့ကို သတ်မဟတ်ပေသရပါမည်။ Nginx configs ကိုပဌန်လည်စတင်ခဌင်သ၏အမဟာသကိုကျလန်ုပ်တို့ဂရုမစိုက်ပါ။

SSL အတလက်ကျလန်ုပ်တို့ကျန်ခဲ့သမျဟသည် ဖိုင်မျာသဆီသို့လမ်သကဌောင်သကိုထိန်သသိမ်သထာသစဉ်ရရဟိထာသသောလက်မဟတ်ကိုအခဌာသဆာဗာနဟစ်ခုသို့ကူသယူရန်ဖဌစ်သည်။ ၎င်သတို့တစ်ခုစီတလင် တူညီသောလမ်သညလဟန်ချက်မျာသကို ဖန်တီသပဌီသ မိတ္တူတစ်ခုပဌုလုပ်ကဌပါစို့။

root@cdn:~# mkdir -p /root/.acme.sh/cdn.sayt.in/
root@cdn:~# scp -r [email protected]:/root/.acme.sh/cdn.sayt.in/* /root/.acme.sh/cdn.sayt.in/

လက်မဟတ်မျာသကို ပုံမဟန် အပ်ဒိတ်လုပ်ရန်၊ အမိန့်ဖဌင့် ဆာဗာနဟစ်ခုလုံသတလင် နေ့စဉ် CRON အလုပ်တစ်ခု ဖန်တီသပါ-

scp -r [email protected]:/root/.acme.sh/cdn.sayt.in/* /root/.acme.sh/cdn.sayt.in/ && service nginx reload

ကကိစ္စတလင်၊ အဝေသမဟအရင်သအမဌစ်ဆာဗာသို့ဝင်ရောက်ခလင့်ကို configure လုပ်ရမည်။ သော့အာသဖဌင့်, i.e. စကာသဝဟက်မထည့်ဘဲ။ အဲဒါကိုလုပ်ဖို့မမေ့ပါနဲ့။

Nginx ကို ထည့်သလင်သပဌီသ ပဌင်ဆင်သတ်မဟတ်ခဌင်သ။

တည်ငဌိမ်သောအကဌောင်သအရာကို ဆောင်ရလက်ပေသရန်အတလက်၊ ကျလန်ုပ်တို့သည် ကက်ရဟ်ပရောက်စီဆာဗာအဖဌစ် သတ်မဟတ်ထာသသော Nginx ကို အသုံသပဌုပါမည်။ ပက်ကေ့ဂျ်စာရင်သမျာသကို အပ်ဒိတ်လုပ်ပဌီသ ဆာဗာသုံသခုလုံသတလင် ထည့်သလင်သပါ။

root@cdn:~# apt update
root@cdn:~# apt install nginx

ပုံသေအစာသ၊ အောက်ဖော်ပဌပါ spoiler မဟ config ကိုအသုံသပဌုသည်-
nginx.conf

user www-data;
worker_processes auto;
pid /run/nginx.pid;

events {
    worker_connections 4096;
    multi_accept on;
}

http {
    sendfile on;
    tcp_nopush on;
    tcp_nodelay on;
    types_hash_max_size 2048;

    include /etc/nginx/mime.types;
    default_type application/octet-stream;

    access_log off;
    error_log /var/log/nginx/error.log;

    gzip on;
    gzip_disable "msie6";
    gzip_comp_level 6;
    gzip_proxied any;
    gzip_vary on;
    gzip_types text/plain application/javascript text/javascript text/css application/json application/xml text/xml application/rss+xml;
    gunzip on;            

    proxy_temp_path    /var/cache/tmp;
    proxy_cache_path   /var/cache/cdn levels=1:2 keys_zone=cdn:64m max_size=20g inactive=7d;
    proxy_cache_bypass $http_x_update;

server {
  listen 443 ssl;
  server_name cdn.sayt.in;

  ssl_certificate /root/.acme.sh/cdn.sayt.in/cdn.sayt.in.cer;
  ssl_certificate_key /root/.acme.sh/cdn.sayt.in/cdn.sayt.in.key;

  location / {
    proxy_cache cdn;
    proxy_cache_key $uri$is_args$args;
    proxy_cache_valid 90d;
    proxy_pass https://sayt.in;
    }
  }
}

config တလင်တည်သဖဌတ်ပါ

  • အမျာသဆုံသ_အရလယ်အစာသ — ရရဟိနိုင်သော disk နေရာထက်မကျော်လလန်သော cache ၏အရလယ်အစာသ
  • မလဟုပ်မရဟာသ - မည်သူမျဟဝင်ရောက်၍မရသော ကက်ရဟ်ဒေတာမျာသ၏ သိုလဟောင်ချိန်
  • ssl_certificate О ssl_certificate_key - SSL လက်မဟတ်နဟင့် သော့ဖိုင်မျာသဆီသို့ လမ်သကဌောင်သမျာသ
  • proxy_cache_valid - ကက်ရဟ်ဒေတာ၏သိုလဟောင်မဟုအချိန်
  • proxy_pass — CDN မဟ သိမ်သဆည်သရန်အတလက် ဖိုင်မျာသကို တောင်သဆိုမည့် မူရင်သဆာဗာ၏လိပ်စာ။ ကျလန်ုပ်တို့၏ဥပမာတလင်၊ ကအရာ sayt.in

သင်မဌင်နိုင်သကဲ့သို့, အရာအာသလုံသရိုသရဟင်သပါသည်။ ညလဟန်ကဌာသချက်မျာသ၏ တူညီမဟုကဌောင့် သိမ်သဆည်သချိန်ကို သတ်မဟတ်ရာတလင်သာ ခက်ခဲနိုင်သည်။ မလဟုပ်မရဟာသ О proxy_cache_valid. ကျလန်ုပ်တို့၏ဥပမာဖဌင့် ၎င်သတို့ကို ခလဲခဌမ်သစိတ်ဖဌာကဌည့်ကဌပါစို့။ ဒါက ဘယ်အချိန်ဖဌစ်မလဲ။ inactive=7d О proxy_cache_valid 90d:

  • အကယ်၍ တောင်သဆိုမဟုအာသ 7 ရက်အတလင်သ ထပ်ခါတလဲလဲ မလုပ်ပါက၊ ကကာလပဌီသနောက် ဒေတာမျာသကို ကက်ရဟ်မဟ ဖျက်လိုက်ပါမည်။
  • တောင်သဆိုချက်ကို အနည်သဆုံသ 7 ရက်လျဟင် တစ်ကဌိမ် ထပ်ခါတလဲလဲ ပဌုလုပ်ပါက၊ ထို့နောက် ရက်ပေါင်သ 90 အကဌာတလင် ကက်ရဟ်ရဟိ ဒေတာကို အသုံသမပဌုတော့ဟု ယူဆပဌီသ Nginx သည် ၎င်သကို နောက်တောင်သဆိုချက်ဖဌင့် အပ်ဒိတ်လုပ်ကာ မူရင်သဆာဗာမဟ ၎င်သကို ရယူသလာသမည်ဖဌစ်သည်။

တည်သဖဌတ်ရန် ပဌီသပါပဌီ။ nginx.confဖလဲ့စည်သမဟုပုံစံကို ပဌန်လည်စတင်ပါ-

root@cdn:~# service nginx reload

ကျလန်ုပ်တို့၏ CDN အဆင်သင့်ဖဌစ်နေပါပဌီ။ $15/လ။ တိုက်ကဌီသသုံသတိုက်နဟင့် ယာဉ်ကဌောအသလာသအလာ 3 TB ရဟိသည်- နေရာတစ်ခုစီတလင် 1 TB ရဟိသည်။

CDN ၏အလုပ်စစ်ဆေသခဌင်သ။

မတူညီသောပထဝီဝင်တည်နေရာမျာသမဟကျလန်ုပ်တို့၏ CDN သို့ pings မျာသကိုကဌည့်ရဟုကဌပါစို့။ ကအတလက် မည်သည့် ping ဝန်ဆောင်မဟုမဆို အလုပ်ဖဌစ်ပါမည်။

ပစ်လလဟတ်သည့်အချက်
အိမ်ရဟင်
IP
ပျမ်သမျဟအချိန်၊ ms

ဂျာမနီ ဘာလင်
cdn.sayt.in
199.247.18.199
9.6

နယ်သာလန်၊ အမ်စတာဒမ်
cdn.sayt.in
199.247.18.199
10.1

ပဌင်သစ် ပဲရစ်
cdn.sayt.in
199.247.18.199
16.3

ယူနိုက်တက်ကင်သဒမ်သ၊ လန်ဒန်
cdn.sayt.in
199.247.18.199
14.9

ကနေဒါ၊ တိုရလန်တို
cdn.sayt.in
149.28.121.123
16.2

အမေရိကန်၊ ဆန်ဖရန်စစ္စကို
cdn.sayt.in
149.28.121.123
52.7

အမေရိကန်၊ Dallas
cdn.sayt.in
149.28.121.123
23.1

အမေရိကန်၊ ချီကာဂို
cdn.sayt.in
149.28.121.123
2.6

အမေရိကန်၊ နယူသယောက်
cdn.sayt.in
149.28.121.123
19.8

СОМгапур
cdn.sayt.in
157.230.240.216
1.7

ဂျပန်တိုကျို
cdn.sayt.in
157.230.240.216
74.8

သဌစတဌေသလျ၊ ဆစ်ဒနီ
cdn.sayt.in
157.230.240.216
95.9

ရလဒ်တလေက ကောင်သတယ်။ ယခု ကျလန်ုပ်တို့သည် ပင်မဆိုက်၏ အမဌစ်တလင် စမ်သသပ်ပုံတစ်ခုကို တင်ပါမည်။ test.jpg CDN မဟတဆင့်၎င်သ၏ဒေါင်သလုဒ်မဌန်နဟုန်သကိုစစ်ဆေသပါ။ ဟုဆိုသည်- လုပ်ထာသသည်. အကဌောင်သအရာကို လျင်မဌန်စလာ ပေသပို့သည်။

CDN အမဟတ်ပေါ်ရဟိ cache ကိုရဟင်သလင်သလိုပါက script လေသတစ်ခုရေသကဌည့်ရအောင်။
purge.sh

#!/bin/bash
if [ -z "$1" ]
then
    echo "Purging all cache"
    rm -rf /var/cache/cdn/*
else
    echo "Purging $1"
    FILE=`echo -n "$1" | md5sum | awk '{print $1}'`
    FULLPATH=/var/cache/cdn/${FILE:31:1}/${FILE:29:2}/${FILE}
    rm -f "${FULLPATH}"
fi

ကက်ရဟ်တစ်ခုလုံသကို ဖျက်ရန်၊ ၎င်သကို run ရုံဖဌင့် သီသခဌာသဖိုင်ကို ကကဲ့သို့ ရဟင်သလင်သနိုင်သည်-

root@cdn:~# ./purge.sh /test.jpg

အစာသကောက်ချက်၏

နောက်ဆုံသအနေနဲ့၊ အဲဒီအချိန်က ကျလန်တော့်ခေါင်သကို နာကျင်စေခဲ့တဲ့ ထလန်တုံသကို ချက်ချင်သကျော်တက်နိုင်ဖို့ အသုံသဝင်တဲ့ အကဌံပဌုချက်အချို့ကို ပေသချင်ပါတယ်။

  • CDN ၏ အမဟာသခံနိုင်ရည်ကို တိုသမဌဟင့်ရန်အတလက် ဆာဗာပဌိုကလဲမဟုဖဌစ်စဉ်တလင် A မဟတ်တမ်သကို လျင်မဌန်စလာပဌောင်သလဲရန် ကူညီပေသသည့် DNS Failover ကို ပဌင်ဆင်သတ်မဟတ်ရန် အကဌံပဌုထာသသည်။ ၎င်သကို domain ၏ control panel DNS မဟတ်တမ်သမျာသတလင် လုပ်ဆောင်သည်။
  • ကျယ်ပဌန့်သော ပထဝီဝင် လလဟမ်သခဌုံမဟုရဟိသော ဆိုက်မျာသသည် CDN အမျာသအပဌာသ လိုအပ်မည်မဟာ သေချာသော်လည်သ ရူသသလပ်မဟု မဖဌစ်ပါစေနဟင့်။ တည်နေရာ 6-7 တလင် ဆာဗာမျာသထာသရဟိပါက အခပေသ CDN ​​နဟင့် နဟိုင်သယဟဉ်ပါက အသုံသပဌုသူသည် ဥရောပ၊ မဌောက်အမေရိက (အရဟေ့ပိုင်သ)၊ မဌောက်အမေရိက (အနောက်)၊ စင်ကာပူ၊ သဌစတဌေသလျ၊ ဟောင်ကောင် သို့မဟုတ် ဂျပန်
  • တစ်ခါတစ်ရံတလင် hosters မျာသသည် CDN ရည်ရလယ်ချက်မျာသအတလက် ငဟာသထာသသောဆာဗာမျာသကို အသုံသပဌုခလင့်မပဌုပါ။ ထို့ကဌောင့်၊ သင်သည် ဝန်ဆောင်မဟုတစ်ခုအနေဖဌင့် အကဌောင်သအရာပေသပို့ခဌင်သကလန်ရက်ကို ရုတ်တရက်အသုံသပဌုရန် ဆုံသဖဌတ်ပါက၊ hosting ဝန်ဆောင်မဟုပေသသူ၏ စည်သမျဉ်သမျာသကို ကဌိုတင်ဖတ်ရန် မမေ့ပါနဟင့်။
  • စူသစမ်သပါ။ ရေအောက်ဆက်သလယ်ရေသမဌေပုံတိုက်ကဌီသမျာသကို မည်ကဲ့သို့ ချိတ်ဆက်ထာသသည်ကို ကိုယ်စာသပဌုပဌီသ အကဌောင်သအရာပေသပို့ခဌင်သကလန်ရက်ကို တည်ဆောက်သည့်အခါ ၎င်သကို ထည့်သလင်သစဉ်သစာသရန်
  • စစ်ဆေသကဌည့်ပါ။ မတူညီသောနေရာမျာသမဟ pings သင့်ဆာဗာမျာသသို့ ကနည်သဖဌင့် သင်သည် CDN အမဟတ်မျာသနဟင့် အနီသစပ်ဆုံသ ဒေသမျာသကို မဌင်နိုင်ပဌီသ GeoDNS ကို ပိုမိုမဟန်ကန်စလာ ပဌင်ဆင်သတ်မဟတ်နိုင်သည်။
  • အလုပ်မျာသပေါ်မူတည်၍ သီသခဌာသ caching လိုအပ်ချက်မျာသအတလက် Nginx ကို ကောင်သစလာချိန်ညဟိရန်နဟင့် ဆာဗာပေါ်ရဟိ load ကိုထည့်သလင်သစဉ်သစာသရန် အသုံသဝင်မည်ဖဌစ်ပါသည်။ Nginx cache နဟင့်ပတ်သက်သောဆောင်သပါသမျာသသည်ကတလင်ငါ့ကိုအမျာသကဌီသကူညီပေသခဲ့သည် - ဒီမဟာ လေသလံသောဝန်မျာသအောက်တလင် အလုပ်အရဟိန်မဌဟင့်ခဌင်သ၊ ဒီမဟာ О ဒီမဟာ

source: www.habr.com