ඔබේ CDN ගොඩනැගීම සහ වින්‍යාස කිරීම

අන්තර්ගත බෙදාහැරීමේ ජාල (CDNs) මූලික වශයෙන් ස්ථිතික මූලද්‍රව්‍ය පැටවීම වේගවත් කිරීම සඳහා වෙබ් අඩවි සහ යෙදුම්වල භාවිතා වේ. විවිධ භූගෝලීය කලාපවල පිහිටා ඇති CDN සේවාදායකයන් මත ගොනු හැඹිලිගත කිරීම හේතුවෙන් මෙය සිදු වේ. CDN හරහා දත්ත ඉල්ලා සිටීමෙන්, පරිශීලකයා එය ළඟම ඇති සේවාදායකයෙන් ලබා ගනී.

සියලුම අන්තර්ගත බෙදාහැරීමේ ජාල වල ක්‍රියාකාරීත්වයේ සහ ක්‍රියාකාරීත්වයේ මූලධර්මය ආසන්න වශයෙන් සමාන වේ. ගොනුවක් බාගත කිරීම සඳහා ඉල්ලීමක් ලැබුණු පසු, CDN සේවාදායකය එය මුල් සේවාදායකයෙන් එක් වරක් ගෙන එය පරිශීලකයාට ලබා දෙයි, ඒ සමඟම නිශ්චිත කාලයක් සඳහා එය හැඹිලිගත කරයි. පසුකාලීන ඉල්ලීම් සියල්ල හැඹිලියෙන් පිළිතුරු දෙනු ලැබේ. සියලුම CDN වලට ගොනු පූර්ව පූරණය කිරීමට, හැඹිලිය හිස් කිරීමට, කල් ඉකුත් වීමේ දිනය සැකසීමට සහ තවත් බොහෝ දේ සඳහා විකල්ප ඇත.

එය සිදු වන්නේ, එක් හේතුවක් හෝ වෙනත් හේතුවක් නිසා, ඔබ ඔබේම අන්තර්ගත බෙදාහැරීමේ ජාලයක් සංවිධානය කිරීමට අවශ්ය වන අතර, පසුව - ඊළඟ බයිසිකලය එකලස් කිරීම සඳහා උපදෙස් අපට උපකාර කිරීමට ඉඩ දෙන්න.

ඔබේ CDN ගොඩනැගීම සහ වින්‍යාස කිරීම
මූලාශ්රය: pikisuperstar විසින් නිර්මාණය කරන ලද Infographic දෛශිකය - www.freepik.com

ඔබට ඔබේම CDN අවශ්‍ය වූ විට

ඔබේම CDN ධාවනය කිරීම අර්ථවත් වන අවස්ථා සලකා බලන්න:

  • මුදල් ඉතිරි කිරීමට ආශාවක් ඇති විට, සහ වැනි මිල අඩු CDN භාවිතා කරන විට පවා ධාවන පිරිවැය BunnyCDN මසකට ඩොලර් සිය ගණනක් දක්වා
  • අපට සේවාදායකය සහ නාලිකා අසල්වැසියන් නොමැතිව ස්ථිර හැඹිලියක් හෝ හැඹිලියක් ලබා ගැනීමට අවශ්‍ය නම්
  • CDN සේවාවන්ට ඔබට අවශ්‍ය කලාපයේ පවතින ස්ථාන නොමැත
  • ඕනෑම විශේෂ අන්තර්ගත බෙදාහැරීමේ සැකසීම් අවශ්‍ය වේ
  • නිෂ්පාදන සේවාදායකය පරිශීලකයින්ට සමීප කිරීමෙන් ගතික අන්තර්ගතයන් බෙදා හැරීම වේගවත් කිරීමට අපට අවශ්‍යය
  • තෙවන පාර්ශ්ව CDN සේවාවක් විසින් පරිශීලක හැසිරීම් (හෙලෝ GDPR-අනුකූල සේවා) පිළිබඳ තොරතුරු නීතිවිරෝධී ලෙස රැස් කිරීම හෝ භාවිතා කිරීම හෝ වෙනත් නීති විරෝධී ක්‍රියාකාරකම්වල නිරත විය හැකි බවට කනස්සල්ලක් පවතී.

වෙනත් බොහෝ අවස්ථාවලදී, පවතින සූදානම් කළ විසඳුම් භාවිතා කිරීම වඩාත් සුදුසුය.

ඔබ ආරම්භ කිරීමට අවශ්ය කුමක්ද

ඔබට ඔබේම ස්වයංක්‍රීය පද්ධතියක් (AS) තිබේ නම් එය විශිෂ්ටයි. එය සමඟ, ඔබට එකම IP සේවාදායක කිහිපයකට පැවරිය හැකිය මෙම උපදෙස් අනුව ජාල මට්ටමින්, පරිශීලකයන් ළඟම ඇති එක වෙත යොමු කරන්න. /24 ලිපින වාරණ සමඟ වුවද, අන්තර්ගත බෙදාහැරීමේ ජාලයක් ගොඩනගා ගත හැකි බව පැවසීම වටී. සමහර සේවාදායක සපයන්නන් ඔවුන්ට ලබා ගත හැකි සියලුම කලාපවල භාවිතය සඳහා නිවේදනයක් කිරීමට ඔබට ඉඩ සලසයි.

ඔබ IP ලිපින බ්ලොක් එකක සතුටුදායක හිමිකරුවෙකු නොවේ නම්, සරල CDN ධාවනය කිරීමට ඔබට අවශ්‍ය වනු ඇත:

  • වසම් නාමය හෝ උප වසම
  • විවිධ කලාපවල අවම වශයෙන් සේවාදායක දෙකක්. සේවාදායකය කැපවූ හෝ අතථ්‍ය විය හැක
  • geoDNS මෙවලම. එය සමඟ, පරිශීලකයා වසම ඇමතීමෙන් පසු ළඟම ඇති සේවාදායකය වෙත යොමු කරනු ලැබේ

වසමක් ලියාපදිංචි කර සේවාදායකයන් ඇණවුම් කරන්න

වසම් ලියාපදිංචිය සමඟ, සියල්ල සරලයි - අපි ඕනෑම රෙජිස්ට්රාර් සමඟ ඕනෑම කලාපයක ලියාපදිංචි වන්නෙමු. ඔබට CDN සඳහා උප ඩොමේනයක් භාවිතා කළ හැකිය, උදාහරණයක් ලෙස එවැනි දෙයක් cdn.domainname.com. ඇත්ත වශයෙන්ම, අපගේ උදාහරණයේ දී, අපි එය කරන්නෙමු.

සේවාදායක ඇණවුම් කිරීම සඳහා, ඒවා ඔබේ පරිශීලක ප්‍රේක්ෂකයින් සිටින කලාප සහ රටවල කුලියට ගත යුතුය. ව්‍යාපෘතිය අන්තර් මහද්වීපික නම්, ලොව පුරා එකවර සේවාදායකයන් ලබා දෙන සත්කාරක සපයන්නන් තෝරා ගැනීම පහසුය. උදාහරණ: OVH, ලීස්වෙබ් и 100 ටීබී - කැපවූ සේවාදායකයන් සඳහා, Vultr и ඩිජිටල් ඕෂන්ස් — අතථ්‍ය වලාකුළු සඳහා*.

අපගේ පුද්ගලික CDN සඳහා, අපි විවිධ මහාද්වීපවල අථත්‍ය සේවාදායක 3ක් ඇණවුම් කරන්නෙමු. හිදී Vultr සඳහා සේවාදායකයේ $5/මසකට අපට ලැබෙනු ඇත 25GB SSD ස්ථාන සහ 1TB තදබදය. ස්ථාපනය කරන විට, නවතම Debian තෝරන්න. අපගේ සේවාදායකයන්:

ඔබේ CDN ගොඩනැගීම සහ වින්‍යාස කිරීම ෆ්රෑන්ක්ෆර්ට්, 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 සඳහන් කරයි. එවැනි පුනරාවර්තන සේවාදායකයන් සාමාන්‍යයෙන් සපයන්නන්ගේ DNS-s වේ.
  2. සේවාදායකයාගේ IP ඔහුගේ රට හෝ කලාපය හඳුනා ගනී. මේ සඳහා, GeoIP දත්ත සමුදායන් භාවිතා කරනු ලැබේ, ඒවායින් අද විශාල ප්‍රමාණයක් ඇත. හොඳ තියෙනවා නිදහස් විකල්ප.
  3. සේවාදායකයාගේ ස්ථානය අනුව, ඔහුට ළඟම ඇති CDN සේවාදායකයේ IP ලිපිනය ලබා දෙයි.

geoDNS ශ්‍රිතය සහිත DNS සේවාදායකය විය හැක ඔබ විසින්ම රැස් කරන්න, නමුත් ලොව පුරා DNS සේවාදායක ජාලයක් සමඟ සූදානම් කළ විසඳුම් භාවිතා කිරීම වඩා හොඳය ඕනෑම කස්ටිය පෙට්ටියෙන්:

  • CloudDNS от $9.95/මසකට, GeoDNS ගාස්තු, පෙරනිමියෙන් එක DNS Failover ඇත
  • සිලෝර් от $25/මසකට, DNS Failover සබල කර ඇත
  • ඇමසන් මාර්ගය 53 от $35/මසකට ශුද්ධ 50M භූ ඉල්ලීම් සඳහා. DNS Failover වෙන වෙනම බිල් කරනු ලැබේ
  • DNS පහසු කර ඇත от $125/මසකට, DNS Failovers 10ක් ඇත
  • Cloudflare, "Geo Steering" විශේෂාංගය ව්‍යවසාය සැලසුම්වල ඇත

geoDNS ඇණවුම් කරන විට, ඔබ ගාස්තුවට ඇතුළත් කර ඇති ඉල්ලීම් ගණන කෙරෙහි අවධානය යොමු කළ යුතු අතර වසම වෙත සැබෑ ඉල්ලීම් ගණන කිහිප වතාවක් අපේක්ෂාවන් ඉක්මවා යා හැකි බව මතක තබා ගන්න. මිලියන ගණනක් මකුළුවන්, ස්කෑනර් යන්ත්‍ර, ස්පෑමර් සහ අනෙකුත් නපුරු ආත්මයන් වෙහෙස නොබලා වැඩ කරති.

සියලුම DNS සේවාවන් පාහේ CDN - DNS Failover ගොඩනැගීම සඳහා අත්‍යවශ්‍ය සේවාවක් ඇතුළත් වේ. එහි ආධාරයෙන්, ඔබට ඔබේ සේවාදායකයන්ගේ ක්‍රියාකාරිත්වය නිරීක්ෂණය කළ හැකි අතර, ජීවිතයේ සලකුණු නොමැති විට, ස්වයංක්‍රීයව ක්‍රියා නොකරන සේවාදායකයක ලිපිනය DNS ප්‍රතිචාරවල උපස්ථ එකක් සමඟ ප්‍රතිස්ථාපනය කළ හැකිය.

අපගේ CDN ගොඩනැගීමට, අපි භාවිතා කරන්නෙමු වලාකුළු, GeoDNS ගාස්තු.

ඔබගේ වසම සඳහන් කරමින් ඔබගේ පුද්ගලික ගිණුමට නව DNS කලාපයක් එක් කරමු. අපි උප ඩොමේනයක් මත CDN එකක් ගොඩනඟන්නේ නම් සහ ප්‍රධාන වසම දැනටමත් භාවිතයේ පවතී නම්, කලාපය එකතු කළ වහාම, පවතින ක්‍රියාකාරී DNS වාර්තා එකතු කිරීමට අමතක නොකරන්න. මීලඟ පියවර වන්නේ CDN වසම / උප වසම සඳහා A-වාර්තා කිහිපයක් නිර්මාණය කිරීමයි, ඒ සෑම එකක්ම අප විසින් නියම කරන ලද කලාපයට අදාළ වේ. ඔබට මහාද්වීප හෝ රටවල් කලාප ලෙස සඳහන් කළ හැක, USA සහ කැනඩාව සඳහා උප කලාප තිබේ.

අපගේ නඩුවේදී, සීඩීඑන් උප ඩොමේනයක් මත මතු කරනු ලැබේ cdn.sayt.in. කලාපයක් එකතු කිරීමෙනි sayt.in, උප ඩොමේනය සඳහා පළමු A-වාර්තාව නිර්මාණය කර මුළු උතුරු ඇමරිකාවම චිකාගෝ හි සේවාදායකය වෙත යොමු කරන්න:

ඔබේ CDN ගොඩනැගීම සහ වින්‍යාස කිරීම
පෙරනිමි කලාප සඳහා එක් ප්‍රවේශයක් සෑදීමට මතක තබා ගනිමින්, අනෙකුත් කලාප සඳහා ක්‍රියාව නැවත සිදු කරමු. අවසානයේ සිදුවන දේ මෙන්න:

ඔබේ CDN ගොඩනැගීම සහ වින්‍යාස කිරීම

තිර රුවෙහි අවසන් පෙරනිමි ප්‍රවේශය යන්නෙන් අදහස් කරන්නේ සියලුම නිශ්චිත නොවන කලාප (සහ මේවා යුරෝපය, අප්‍රිකාව, චන්ද්‍රිකා අන්තර්ජාල භාවිතා කරන්නන් යනාදිය) ෆ්‍රැන්ක්ෆර්ට් හි සේවාදායකය වෙත යවනු ලබන බවයි.

මෙය මූලික DNS සැකසුම සම්පූර්ණ කරයි. වසම් රෙජිස්ට්‍රාර්ගේ වෙබ් අඩවියට ගොස් ක්ලවුඩීඑන්එස් විසින් නිකුත් කරන ලද වත්මන් වසම් එන්එස් වෙනුවට ආදේශ කිරීම ඉතිරිව ඇත. තවද NSs යාවත්කාලීන වන අතර, අපි සේවාදායකයන් සූදානම් කරන්නෙමු.

SSL සහතික ස්ථාපනය කිරීම

අපගේ CDN HTTPS හරහා ක්‍රියා කරයි, එබැවින් ඔබට දැනටමත් වසමක් හෝ උප ඩොමේනයක් සඳහා SSL සහතික තිබේ නම්, ඒවා සියලුම සේවාදායකයන් වෙත උඩුගත කරන්න, උදාහරණයක් ලෙස නාමාවලියට /etc/ssl/yourdomain/

සහතික නැත්නම් Let's Encrypt එකෙන් නොමිලේ එකක් ගන්න පුළුවන්. මේ සඳහා පරිපූර්ණයි ACME Shellscript. සේවාලාභියා පහසු සහ සැකසීමට පහසු වන අතර, වඩාත්ම වැදගත් දෙය නම්, එය ඔබට CloudDNS API හරහා DNS මගින් වසමක්/උප වසමක් වලංගු කිරීමට ඉඩ සලසයි.

අපි acme.sh ස්ථාපනය කරන්නේ එක් සේවාදායකයක පමණි - යුරෝපීය 199.247.18.199, එයින් සහතික අනෙක් සියල්ලටම පිටපත් කරනු ලැබේ. ස්ථාපනය කිරීමට, ධාවනය කරන්න:

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

ස්ක්‍රිප්ට් ස්ථාපනය කිරීමේදී, අපගේ සහභාගීත්වයෙන් තොරව සහතික තවදුරටත් අලුත් කිරීම සඳහා CRON රැකියාවක් නිර්මාණය වනු ඇත.

සහතිකයක් නිකුත් කිරීමේදී, වසම API භාවිතයෙන් DNS භාවිතයෙන් පරීක්ෂා කරනු ලැබේ, එබැවින් Reseller API මෙනුවේ ඇති CloudDNS පුද්ගලික ගිණුමේ, ඔබ නව පරිශීලක 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 වින්‍යාස නැවත පූරණය කිරීමේ දෝෂය ගැන අපි අවධානය යොමු නොකරමු - සහතික යාවත්කාලීන කිරීමේදී එය සම්පුර්ණයෙන්ම වින්‍යාසගත සේවාදායකයක නොපවතිනු ඇත.

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

මෙම අවස්ථාවේදී, දුරස්ථ මූලාශ්ර සේවාදායකයට ප්රවේශය වින්යාසගත කළ යුතුය යතුර මගින්, i.e. මුරපදයක් ඇතුළත් නොකර. ඒක කරන්න අමතක කරන්න එපා.

Nginx ස්ථාපනය කිරීම සහ වින්‍යාස කිරීම

ස්ථිතික අන්තර්ගතයන් සැපයීම සඳහා, අපි හැඹිලි ප්‍රොක්සි සේවාදායකයක් ලෙස වින්‍යාස කර ඇති Nginx භාවිතා කරන්නෙමු. පැකේජ ලැයිස්තු යාවත්කාලීන කර එය සර්වර් තුනේම ස්ථාපනය කරන්න:

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

පෙරනිමිය වෙනුවට, අපි පහත ස්පොයිලර් වෙතින් වින්‍යාසය භාවිතා කරමු:
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;
    }
  }
}

වින්‍යාසය තුළ සංස්කරණය කරන්න:

  • උපරිම_ප්‍රමාණය - හැඹිලියේ විශාලත්වය, පවතින තැටි අවකාශය නොඉක්මවිය යුතුය
  • අක්‍රීයයි - කිසිවෙකුට ප්‍රවේශ නොවූ හැඹිලිගත දත්ත ගබඩා කිරීමේ කාලය
  • ssl_certificate и ssl_certificate_key - SSL සහතිකය සහ යතුරු ගොනු සඳහා මාර්ග
  • proxy_cache_valid - හැඹිලිගත දත්ත ගබඩා කිරීමේ කාලය
  • proxy_pass - CDN විසින් හැඹිලිගත කිරීම සඳහා ගොනු ඉල්ලා සිටින මුල් සේවාදායකයේ ලිපිනය. අපගේ උදාහරණයේ, මෙය sayt.in

ඔබට පෙනෙන පරිදි, සියල්ල සරල ය. විධානවල සමානකම හේතුවෙන් හැඹිලිගත කිරීමේ කාලය සැකසීමේදී පමණක් අපහසුතාවයක් ඇතිවිය හැකිය අක්‍රීයයි и proxy_cache_valid. අපගේ උදාහරණයෙන් ඒවා විශ්ලේෂණය කරමු. කවදත් වෙන්නේ මෙන්න මෙහෙමයි අක්‍රිය=7d и proxy_cache_valid 90d:

  • ඉල්ලීම දින 7 ක් ඇතුළත නැවත නැවත සිදු නොකළහොත්, මෙම කාල සීමාවෙන් පසු දත්ත හැඹිලියෙන් මකා දැමෙනු ඇත
  • ඉල්ලීම අවම වශයෙන් දින 7 කට වරක් නැවත නැවත සිදු කරන්නේ නම්, හැඹිලියේ ඇති දත්ත දින 90 කට පසු යල් පැන ගිය ඒවා ලෙස සලකනු ලබන අතර Nginx එය මුල් සේවාදායකයෙන් ලබාගෙන ඊළඟ ඉල්ලීම සමඟ එය යාවත්කාලීන කරයි.

සංස්කරණය කිරීම අවසන් nginx.conf, වින්‍යාසය නැවත පූරණය කරන්න:

root@cdn:~# service nginx reload

අපගේ CDN සූදානම්. $15/මසකට. අපට මහද්වීප තුනක සිටින ස්ථාන සහ 3 TB රථවාහන: සෑම ස්ථානයකම 1 TB.

CDN හි වැඩ පරීක්ෂා කිරීම

විවිධ භූගෝලීය ස්ථාන වලින් අපගේ CDN වෙත පිං බලමු. ඕනෑම ping සේවාවක් මේ සඳහා ක්‍රියා කරයි.

දියත් කිරීමේ ස්ථානය
සත්කාරක
IP
සාමාන්‍ය කාලය, මිස්

ජර්මනිය බර්ලින්
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

ඇමරිකා එක්සත් ජනපදය, ඩලස්
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 ලක්ෂ්‍යයේ හැඹිලිය ඉවත් කිරීමට අවශ්‍ය නම් අපි කුඩා පිටපතක් ලියමු.
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

සම්පූර්ණ හැඹිලිය මකා දැමීමට, එය ක්‍රියාත්මක කරන්න, වෙනම ගොනුවක් මේ ආකාරයට පිරිසිදු කළ හැකිය:

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

නිගමන වෙනුවට

අවසාන වශයෙන්, මට එකල මගේ හිස රිදවූ පෝරකය මත වහාම පියවර තැබීම සඳහා ප්‍රයෝජනවත් උපදෙස් කිහිපයක් ලබා දීමට මට අවශ්‍යය:

  • CDN හි දෝෂ ඉවසීම වැඩි කිරීම සඳහා, DNS Failover වින්‍යාස කිරීම නිර්දේශ කරනු ලැබේ, එය සේවාදායකය බිඳවැටීමකදී A වාර්තාව ඉක්මනින් වෙනස් කිරීමට උපකාරී වේ. මෙය සිදු කරනු ලබන්නේ වසමේ පාලන පුවරුවේ DNS වාර්තා වලය.
  • පුළුල් භූගෝලීය ආවරණයක් සහිත අඩවි වලට CDN විශාල සංඛ්‍යාවක් අවශ්‍ය බවට සැකයක් නැත, නමුත් අපි උමතු නොවන්නෙමු. යුරෝපය, උතුරු ඇමරිකාව (නැගෙනහිර), උතුරු ඇමරිකාව (බටහිර), සිංගප්පූරුව, ඕස්ට්‍රේලියාව, හොංකොං හෝ ජපානය යන ස්ථාන 6-7 ක සේවාදායක ස්ථානගත කළහොත් ගෙවූ CDN එකකට සාපේක්ෂව පරිශීලකයා සැලකිය යුතු වෙනසක් නොදකිනු ඇත.
  • සමහර විට CDN අරමුණු සඳහා කුලියට ගත් සේවාදායකයන් භාවිතා කිරීමට සත්කාරක සමාගම් ඉඩ නොදේ. එමනිසා, ඔබ හදිසියේම අන්තර්ගත බෙදාහැරීමේ ජාලයක් සේවාවක් ලෙස යෙදවීමට තීරණය කරන්නේ නම්, යම් සත්කාරක සැපයුම්කරුවෙකුගේ නීති කල්තියා කියවීමට අමතක නොකරන්න.
  • ගවේෂණය කරන්න දිය යට සන්නිවේදන සිතියමමහාද්වීප සම්බන්ධ වී ඇති ආකාරය නිරූපණය කිරීමට සහ අන්තර්ගත බෙදාහැරීමේ ජාලයක් ගොඩනඟන විට මෙය සැලකිල්ලට ගන්න
  • පරීක්ෂා කිරීමට උත්සාහ කරන්න විවිධ ස්ථාන වලින් පිං ඔබගේ සේවාදායකයන් වෙත. මේ ආකාරයෙන් ඔබට CDN ලක්ෂ්‍යවලට ආසන්නතම කලාප දැක ගත හැකි අතර GeoDNS වඩාත් නිවැරදිව වින්‍යාසගත කළ හැක
  • කාර්යයන් මත පදනම්ව, විශේෂිත හැඹිලි අවශ්‍යතා සඳහා Nginx මනාව සකස් කිරීම සහ සේවාදායකයේ බර සැලකිල්ලට ගැනීම ප්‍රයෝජනවත් වනු ඇත. Nginx හැඹිලිය පිළිබඳ ලිපි මට මේ සඳහා බෙහෙවින් උපකාරී විය - මෙහි සහ අධික බර යටතේ වැඩ වේගවත් කිරීම: මෙහි и මෙහි

මූලාශ්රය: www.habr.com