关于在Dreamhost主机上使用CloudFront的一些说明 « 写一点 |
您所在的位置:网站首页 › 祝选手们勇夺冠军祝福语 › 关于在Dreamhost主机上使用CloudFront的一些说明 « 写一点 |
åœ¨ä¸Šä¸€ç¯‡æ–‡ç« ä¸ï¼Œä»‹ç»äº†ä¸ºæ‰˜ç®¡åœ¨Dreamhost主机上的åšå®¢ç©ºé—´ä½¿ç”¨CloudFront充当CDNåŠ é€ŸæœåŠ¡å™¨çš„大致åšæ³•ã€‚ä¸è¿‡å½“æ—¶å› ä¸ºä¸å¤ªäº†è§£è¿™ç§æœåŠ¡ï¼Œæœ‰äº›ç–æ¼ï¼Œå› æ¤ç”¨è¿™ç¯‡æ–‡ç« 进行进一æ¥è§£é‡Šè¯´æ˜Žã€‚ 先说说具体情况,本åšå®¢çš„域å是在GoDaddy注册的,但空间托管在Dreamhost的主机上。由于DH本身对这个功能的介ç»ä¸æ˜¯å¤ªæ¸…楚,我以为直接在åŽå°è¾“入必è¦çš„CloudFrontä¿¡æ¯åŽï¼Œå…¶ä»–东西全部都ä¸ç”¨ç®¡äº†ï¼Œéƒ½å¯ä»¥è‡ªåŠ¨è¿›è¡Œï¼Œä½†å®žé™…上并ä¸æ˜¯è¿™æ ·ã€‚å› æ¤å‰å‡ 天,我以为我的网站已ç»è¢«åŠ é€Ÿäº†ï¼Œä½†å…¶å®žæ ¹æœ¬æ²¡æœ‰ï¼Œä¹Ÿè®¸æ˜¯å¿ƒç†ä½œç”¨æ‰è®©æˆ‘觉得速度快了å§ã€‚ 为了让CDNæ£å¸¸ç”Ÿæ•ˆï¼Œä¾ç„¶éœ€è¦åšä¸‹åˆ—å‡ ä»¶äº‹æƒ…ï¼š 通过æŸç§æœºåˆ¶ï¼Œå°†ç½‘站指定内容统一å¤åˆ¶åˆ°S3çš„æŸä¸ªBucketä¸ã€‚ 在域åæœåŠ¡å™¨ä¸Šä¿®æ”¹DNSè®°å½•ï¼Œæ·»åŠ ä¸€æ¡CNAME记录,并指å‘CloudFront的分å‘点。 在网站上,通过URL Rewriting技术,将Bucketä¸å˜åœ¨çš„内容的链接进行替æ¢ã€‚下é¢åˆ†åˆ«ä»‹ç»ã€‚ 将内容从æºå¤åˆ¶åˆ°S3 Bucket这一æ¥å¯ä»¥åœ¨DHçš„åŽå°è¿›è¡Œã€‚ä»Žå·¦ä¾§æ ‘å½¢å›¾ä¸ä¾æ¬¡ç‚¹å‡»â€œGoodies – Amazon CloudFrontâ€ã€‚输入必è¦çš„ä¿¡æ¯ï¼Œå…¶ä¸ç¬¬ä¸€è¡Œçš„“cdnâ€æ˜¯æŒ‡å¸Œæœ›åˆ«äººç”¨äºŽè®¿é—®CDNä¸å†…容时使用的å域å,å¯ä»¥éšæ„设置,但必须是è¦ä½¿ç”¨çš„网站域å下的å域å。éšåŽç¬¬äºŒè¡Œè®¾ç½®è¦å°†å“ªäº›å†…容å¤åˆ¶åˆ°S3ä¸ã€‚按照我的选择,我将该网站下的所有内容都å¤åˆ¶äº†è¿‡åŽ»ï¼Œä½†å®žé™…上如果有ä¸åŒéœ€æ±‚,也å¯ä»¥å¤åˆ¶æŸä¸ªå…·ä½“的目录。éšåŽå¡«å†™ä¸¤ä¸ªKeyï¼Œå¹¶ç‚¹å‡»æŒ‰é’®æ·»åŠ ã€‚ 这个过程ä¸ï¼ŒDHçš„åŽå°ç¨‹åºä¼šä½¿ç”¨æ供的Key,自动在S3ä¸åˆ›å»ºBucket,并在CloudFrontä¸è‡ªåŠ¨åˆ›å»ºåˆ†å‘。éšåŽä¼šè‡ªåŠ¨å°†æŒ‡å®šç›®å½•ä¸‹çš„所有文件都å¤åˆ¶åˆ°Bucketä¸ã€‚这些æ“作都ä¸éœ€è¦æ‰‹å·¥å¹²é¢„。æ¤å¤„çš„Bucket默认会创建到US-Standardçš„æ•°æ®ä¸å¿ƒå†…,这个数æ®ä¸å¿ƒçš„å„ç§è´¹ç”¨ä¹Ÿæ˜¯æœ€ä¾¿å®œçš„,但并没有使用低冗余å˜å‚¨ã€‚ 接ç€ç”¨AWSå¸æˆ·ç™»å½•åˆ°AWS控制å°ï¼Œç„¶åŽå±•å¼€Amazon S3选项å¡ï¼Œå¹¶é€‰ä¸é’ˆå¯¹CloudFront创建的Bucket,例如下图ä¸çš„“cdn.xieyidian.comâ€ã€‚å•å‡»â€œPropertiesâ€æŒ‰é’®å±•å¼€è¿™ä¸ªBucketçš„å±žæ€§çª—æ ¼ï¼Œåœ¨â€œPermissionsâ€é€‰é¡¹å¡ä¸‹ï¼Œå•å‡»â€œAdd more permissionsâ€ï¼Œæ·»åŠ “Everyoneâ€å¹¶ä¸ºå…¶åˆ†é…“View Permissionsâ€ã€‚ éšåŽåˆ‡æ¢åˆ°CloudFront选项å¡ä¸‹ï¼Œè¿™é‡Œåº”该已ç»åˆ›å»ºå¥½ä¸€ä¸ªåˆ†å‘。å•å‡»é€‰ä¸ï¼Œä¸‹æ–¹çš„å±žæ€§çª—æ ¼ä¼šæ˜¾ç¤ºå‡ºå¿…è¦çš„ä¿¡æ¯ã€‚这里é¢éœ€è¦æ³¨æ„,如果状æ€æ˜¾ç¤ºä¸ºâ€œDeployedâ€ï¼Œè¯æ˜Žç›¸å…³çš„设置æ“作已ç»å®Œæˆï¼Œè¯¥åˆ†å‘点已ç»ç”Ÿæ•ˆäº†ã€‚éšåŽéœ€è¦åœ¨ä¸‹æ–¹çš„å±žæ€§çª—æ ¼ä¸è®°ä¸‹â€œDomain Nameâ€æ˜¾ç¤ºçš„ä¿¡æ¯ï¼Œä¾‹å¦‚本例ä¸æ˜¾ç¤ºçš„是“d2q7gy996ell99.cloudfront.netâ€ï¼Œè¿™ä¸ªä¿¡æ¯å°†ç”¨äºŽæ·»åŠ 域åçš„CNAME记录,éžå¸¸é‡è¦ã€‚ 至æ¤Amazon这里的æ“作和设置全部完æˆã€‚ 为域åæ·»åŠ CNAME记录这一æ¥éœ€è¦åœ¨åŸŸåæœåŠ¡å™¨çš„所有者那里进行。例如虽然我的域å是在GoDaddyæ³¨å†Œçš„ï¼Œä½†å› ä¸ºä¸»æœºåœ¨DHè¿™é‡Œï¼Œå› æ¤åœ¨GoDaddy那里我直接设置了DHæ供的å称æœåŠ¡å™¨ï¼ˆNS)地å€ã€‚所以这ç§æƒ…况下è¦æ·»åŠ CNAME记录,就必须在DH这里进行。 å†æ¬¡æ‰“å¼€DHçš„åŽå°ç•Œé¢ï¼Œä»Žå·¦ä¾§æ ‘形图ä¸ä¾æ¬¡è¿›å…¥â€œDomains – Manage Domainsâ€ï¼ŒéšåŽè¿™é‡Œåˆ—出了当å‰å¸æˆ·ä¸‹æ·»åŠ 的所有域åã€‚æ‰¾åˆ°ç›®æ ‡åŸŸå,并点击“DNSâ€é“¾æŽ¥ã€‚ éšåŽéœ€è¦æ·»åŠ CNAME记录(什么是CNAME记录)。Name这里,åªéœ€è¦è¾“å…¥è¦ä½¿ç”¨çš„二级域åå³å¯ï¼Œä¾‹å¦‚æœ¬æ–‡ç¬¬ä¸€å¼ å›¾ç‰‡é‡Œè®¾ç½®çš„â€œSub-Domainâ€æ˜¯â€œcdnâ€ï¼Œå› æ¤è¿™é‡Œåªéœ€è¦è¾“入“cdnâ€ã€‚éšåŽéœ€è¦é€‰æ‹©è¯¥è®°å½•çš„类型,这里必须选择“CNAMEâ€ã€‚接ç€æ˜¯å€¼ï¼Œè¿™ä¸ªå€¼å®žé™…上就是CloudFront分å‘点创建好åŽï¼Œåœ¨AWS控制å°é‡Œæ˜¾ç¤ºçš„“Domain Nameâ€ï¼Œä¹Ÿå°±æ˜¯ä¸Šæ–‡å¼ºè°ƒè¿‡çš„那个“d2q7gy996ell99.cloudfront.netâ€ã€‚这个信æ¯ä¸€å®šè¦æ£ç¡®ã€‚åŒæ—¶è¿™é‡Œè¿˜æœ‰ä¸€ä¸ªé—®é¢˜éœ€è¦æ³¨æ„,å–决于ä¸åŒçš„DNSæœåŠ¡å™¨è®¾ç½®ï¼Œæœ‰äº›NSæœåŠ¡å™¨ï¼Œä¾‹å¦‚DH的,è¦æ±‚在这个“.netâ€ä¹‹åŽå†è¾“入一个英文å¥ç‚¹â€œ.â€ï¼›ä½†æ®è¯´æœ‰äº›NSæœåŠ¡å™¨å¹¶ä¸éœ€è¦ã€‚具体情况请查阅NSæœåŠ¡å™¨çš„说明信æ¯ï¼Œæˆ–者两ç§æƒ…况挨个å°è¯•ä¸€ä¸‹ã€‚设置完毕åŽå•å‡»æŒ‰é’®æ·»åŠ è®°å½•ï¼Œæ·»åŠ å¥½çš„è®°å½•ä¼šæ˜¾ç¤ºåœ¨â€œCustom DNS Recordsâ€ç±»åˆ«ä¸‹ã€‚ 至æ¤åŸŸå这里的æ“作已ç»å®Œæˆï¼Œä¸è¿‡DNS的改动在全çƒå…¨é¢ç”Ÿæ•ˆéœ€è¦ä¸€æ®µæ—¶é—´ï¼Œæœ€é•¿å¯èƒ½éœ€è¦48å°æ—¶ï¼Œå› æ¤å¯èƒ½éœ€è¦ç‰å¾…一段时间æ‰èƒ½çœ‹åˆ°æœ€ç»ˆç»“果。 é‡å†™URL最åŽä¸€æ¥ï¼Œå°±æ˜¯å°†ç½‘站内容ä¸çš„URL进行替æ¢ï¼Œè¿™æ ·æµè§ˆå™¨æ‰çŸ¥é“需è¦é€šè¿‡â€œcdn.xieyidian.comâ€è¿™ä¸ªåŸŸå(在CDN的缓å˜æœåŠ¡å™¨ä¸ï¼‰æ‰¾åˆ°æ‰€éœ€å†…容,而ä¸ä¼šåŽ»â€œwww.xieyidian.comâ€çš„域å下获å–内容(虽然也能找到,但这就ç‰äºŽæ²¡æœ‰ç”¨åˆ°CDNçš„åŠ é€ŸåŠŸèƒ½ï¼‰ã€‚ 还是以WordPress为例,这次我æ¢äº†ä¸€ä¸ªæ’件,用的是OSSDL CDN Off-linker,这个æ’件唯一的用途就是é‡å†™URLï¼Œå› æ¤æ¯”较简å•ï¼Œä¹Ÿå¥½ä¸Šæ‰‹ã€‚通过WordPressçš„åŽå°ç•Œé¢å®‰è£…,并激活åŽï¼Œåœ¨å·¦ä¾§æ ‘形图ä¸æ‰“开“设置â€ï¼Œå¹¶ç‚¹å‡»OSSDL CDN Off-linker,éšåŽå³å¯çœ‹åˆ°é…置界é¢ã€‚ 首先需è¦åœ¨â€œoff-site URLâ€è¿™é‡Œè¾“å…¥ä¸Šæ–‡æ·»åŠ çš„CNAME记录对应的地å€ï¼Œå³â€œhttp://cdn.xieyidian.comâ€ï¼ŒåŸŸå结尾处ä¸èƒ½è¾“入“/â€æ–œçº¿ï¼ŒåŒæ—¶å¿…须包å«â€œHttp://â€æˆ–“Https://â€ï¼Œä»¥ä»£è¡¨è¦ä½¿ç”¨çš„具体å议。 “include dirsâ€é€‰é¡¹ï¼Œåˆ™å¯¹åº”了è¦é‡å†™çš„内容所在目录。以上图为例,这里列出了“wp-content,wp-includesâ€è¿™ä¸¤ä¸ªç›®å½•ï¼Œå› æ¤å¦‚果网站页é¢ä¸ŠåŒ…å«äº†ä½äºŽâ€œhttps://www.xieyidian.com/wp-content/â€æˆ–“https://www.xieyidian.com/wp-includes/â€ç›®å½•ä¸‹çš„内容(这些内容å¯ä»¥ä½äºŽè¿™ä¸¤ä¸ªç›®å½•ä¸‹çš„å目录ä¸ï¼‰ï¼Œé‚£ä¹ˆè¯¥æ’件就会自动将完整连接ä¸çš„“www.xieyidian.comâ€åŸŸå替æ¢ä¸ºâ€œcdn.xieyidian.comâ€åŸŸå。对于WordPressæ¥è¯´ï¼Œè¿™ä¸¤ä¸ªç›®å½•ä¸‹å‡ 乎包å«äº†ç½‘ç«™çš„ä¸€åˆ‡å†…å®¹ï¼Œä¾‹å¦‚æ–‡ç« æ’图ã€ä¸»é¢˜æ–‡ä»¶ã€è„šæœ¬æ–‡ä»¶ã€CSS文件ç‰ã€‚ “exclude if substringâ€é€‰é¡¹åˆ™å†³å®šäº†è¦æŽ’除,ä¸è¿›è¡Œé‡å†™çš„内容类型,我觉得没啥用,ä¿ç•™é»˜è®¤è®¾ç½®å³å¯ã€‚ 至æ¤ï¼Œæœ€åŽä¸€æ¥å·¥ä½œç»ˆäºŽå®Œæˆäº†ã€‚ 还有问题?通过上述设置,å†ç‰å¾…一段时间,让DNSè®°å½•ä¼ éå…¨çƒåŽï¼Œæ‰€æœ‰æ“作就全部执行完毕了。 ä¸è¿‡å¯¹äºŽDreamhost主机的用户还有一个问题。本文涉åŠçš„方法是通过DHåŽå°æ供的页é¢å’ŒåŠŸèƒ½ï¼Œå°†æ–‡ä»¶å†…容从原始ä½ç½®å¤åˆ¶åˆ°Amazon S3ä¸çš„,但问题是,该功能åªèƒ½æ‰‹å·¥æ‰§è¡Œï¼Œè€Œä¸èƒ½è‡ªåŠ¨æŒ‰æ—¶æ‰§è¡Œã€‚也就是说,如果以åŽå‘å¸ƒäº†æ–°çš„å†…å®¹ï¼Œè¿™äº›å†…å®¹å°†æ— æ³•è‡ªåŠ¨åŒæ¥åˆ°CDNæœåŠ¡å™¨ä¸Šï¼Œè€Œç›¸å…³å†…容的链接已ç»è¢«é‡å†™è¿‡äº†ï¼Œå› æ¤å°†å¯¼è‡´æ–°å‘å¸ƒçš„æ–‡ç« æ— æ³•æ˜¾ç¤ºå‡ºæ’å›¾ï¼ˆå¦‚æžœæ–‡ç« åŒ…å«æ’图,并且æ’图并ä¸æ˜¯ç›´æŽ¥å¼•ç”¨ç½‘上现有文件的è¯ï¼‰ã€‚æ¤æ—¶å”¯ä¸€çš„解决方法就是在DHçš„åŽå°åŽ»ï¼Œæ‰“å¼€æœ¬æ–‡å¼€å¤´å¤„ç¬¬ä¸€å¼ æˆªå›¾çš„ç•Œé¢ï¼Œç„¶åŽç‚¹å‡»â€œRescan Nowâ€æŒ‰é’®ï¼Œæ‰‹å·¥è§¦å‘一次åŒæ¥ã€‚ 所以如果您的网站内容更新频ç¹ï¼Œè¿™ç§æ–¹æ³•å°±ä¸å¤ªåˆé€‚了。ä¸è¿‡å¯¹äºŽæˆ‘æ¥è¯´ï¼Œæˆ‘的个人站点,本身å¯èƒ½å¥½å‡ å¤©ï¼Œç”šè‡³å¥½å‡ å‘¨æ‰æ·»åŠ 一篇新内容,这个问题的影å“并ä¸æ˜¯å¾ˆä¸¥é‡ï¼Œå§‘ä¸”è¿™æ ·ç”¨å§ã€‚ä¸è¿‡æˆ‘打算给DHææ建议,如果他们能æ供自动定时åŒæ¥åŠŸèƒ½ï¼Œé‚£å½“然最好了。 Share this:TwitterFacebookTags: Amazon CloudFront, AWS, 云计算, CDN This entry was posted on 星期六, 3月 5th, 2011 at 下午 4:23 and is filed under IT. You can follow any responses to this entry through the RSS 2.0 feed. You can leave a response, or trackback from your own site. |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |