自建了一些 CDN 节点,特地来分享一下

2015-12-19 16:03:39 +08:00
 Andy1999
欲想组建自己的 CDN 节点,需要以下东西:
1.服务器( vps )
2.Nginx
3.钱( x
服务器都是 ss 服务器因此对大陆地区速度不错
我选择了这些服务器 SLHK SLJP IDCFJP VultrJP ConoHaSG EnzuUS-Los DOUS-Sfo
服务端的配置为改写的 lnmp 一键包去除 MySQL 和 PHP 部分,配上 Nginx 的关键字替换和 purge 模块实现。
目前已经能够远程刷新 Cache 但是不能批量提交,要一个节点一个节点清理掉比较复杂。
能查看当前页面的状态,利用 Nginx 自带的信息可以告诉你这个文件是 HIT 还是 MISS 甚至是 ByPASS 这类。
参考 URL
http://www.nnya.cat/images/2015/12/07/b0c282068e6494bfbc26db76e79d6df9.jpg

不知道怎么实现$url?$key 这类方案来消除缓存。如果大家有什么好的建议 /意见都请提出来。
7714 次点击
所在节点    CDN
45 条回复
Andy1999
2015-12-20 00:59:28 +08:00
@iCodex 不会玩 有参考文档吗
Daniel65536
2015-12-20 01:23:10 +08:00
> 目前已经能够远程刷新 Cache 但是不能批量提交,要一个节点一个节点清理掉比较复杂。
用 post_action 可以解决问题, post_action 可以让你的 nginx 服务器在完成了某个请求后向某个地址发送 GET 或者 POST ,你可以配置 CDN 的某核心主机在你远程访问了 purge 之后代替你向其他节点发送同样的请求。

比较奇怪的是 post_action 根本没法在 nginx.org 的文档里找到……但是这个功能确实又存在……

用法大概是:
location / {
expires 1d;
try_files $uri $uri/ =404;
post_action @tracker;
}

location @tracker {
internal;
proxy_method GET;
proxy_pass http://example.com;
proxy_pass_request_headers off;
proxy_pass_request_body off;
}
这样子。

我目前是用这个来给 Google Analytics 发信息,从后台做统计……
akw2312
2015-12-20 04:11:08 +08:00
@ryd994 idcf 電話認證 中國電話只能人工
日本電話和 台灣固話 也可以直接過
(但是台灣手機不行 我也是傻了…我懷疑他的系統根本沒有對接好………)
喔另外一個電話可以驗證多次
ryd994
2015-12-20 09:17:34 +08:00
@Daniel65536 关于 post_action , Maxim 的原话是“故意没写文档”
因为这个选项的各种副作用太复杂,不了解 nginx 内部的人乱用很有可能会有不希望的结果。
你这个用法就属于不建议的用法。因为(至少在上一个问类似问题的人的时候) post_action 的执行是 blocking 的,所以在这段请求的时间里,这个 worker 进程是卡死的。 nginx 现在引入了 multi-thread ,所以这个问题可能已经不是很严重了。
xiaodaigou
2015-12-20 12:47:23 +08:00
分享了什么。。。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/244683

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX