Loading... 前期购入了UltraVPS的250g大盘鸡,但是速度上确实差强人意,所以考虑通过CDN的形式,后来在网上研究了一下,确定了利用Nginx反向代理的方案,实际上CDN节点估计也就是2-3个。 <!--more--> ## CDN建设意向 - LS-JP节点:电信、联通用户,和机场属于同一节点 - Vultr/DO-SPG节点:移动用户 实际上也是因为AWS和DO的码子比较好弄。 ## 安装Nginx 直接用了LNMP一键包,比较方便,实际上只需要安装Nginx就行了 ## 设置回源节点 假如我需要对imgki.com搭建CDN节点,数据放在source.imgki.com(130.255.78.xx),需要先修改hosts指向,告知CDN节点去哪里去获取网站数据,也就是回源地址,做如下修改: 130.255.78.xx imgki.com ## 设置缓存目录 #创建缓存目录 mkdir -p /home/wwwroot/imgki.com/cache #设置缓存目录权限 chown -R www:www /home/wwwroot/imgki.com/cache 在nginx-conf增加 proxy_cache_path /home/wwwroot/imgki.com/cache levels=1:2 keys_zone=imgki:150m inactive=130m max_size=150m; /home/wwwroot/imgki.com/cache:为缓存目录 levels:指定该缓存空间有两层hash目录,第一层目录为1个字母,第二层为2个字母。 keys_zone=Rats:50m:为缓存空间起个名字,这里取名为“Rats”,后面的50m指内存缓存空间 inactive=30m:如果30分钟内该资源没有被访问则删除 max_size=50m:指硬盘缓存大小为50MB proxy_cache_valid:指定状态码缓存时间,前面写状态码,后面写缓存时间。 ## 配置Nginx反向代理 置上有很多其实我也不是很明白,反着照着套过来就能用,看着也没有什么问题。 location / { proxy_pass https://imgki.com; #把返回的302重定向的域名替换成你的。这里关闭 proxy_redirect off; #替换指定字符串 sub_filter source.imgki.com imgki.com; #字符串只进行一次替换,即只替换第一个被匹配的字符串。这里关闭。 #sub_filter_once off; #指定头部: #proxy_set_header Host "imgki.com"; proxy_set_header Host $host; proxy_set_header Referer $http_referer; proxy_set_header X-Real-IP $remote_addr; proxy_set_header User-Agent $http_user_agent; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto https; #防止谷歌返回压缩的内容,因为压缩的内容无法替换字符串 proxy_set_header Accept-Encoding ""; proxy_set_header Accept-Language "zh-CN"; #把cookie的作用域替换成你的域名 proxy_cookie_domain source.imgki.com imgki.com; #启用proxy_cache缓存 proxy_cache imgki; proxy_cache_valid 304 24h; proxy_cache_valid 403 444 24h; proxy_cache_valid 404 24h; proxy_cache_valid 500 502 24h; proxy_cache_use_stale invalid_header http_404 http_500 http_502; proxy_cache_lock on; proxy_cache_lock_timeout 5s; 如果用的LNMP需要注释掉一些内容,否则会出现丢失CSS的情况 # location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$ # { # expires 30d; # } # location ~ .*\.(js|css)?$ # { # expires 12h; # } 添加http的强制跳转 return 301 https://imgki.com$request_uri; i> 2018.12.21补充proxy_cache模块的具体解释 proxy_cache_path/data/nginx/tmp-test levels=1:2 keys_zone=tmp-test:100m inactive=7d max_size=1000g; proxy_cache_path 缓存文件路径 levels 设置缓存文件目录层次;levels=1:2 表示两级目录 keys_zone 设置缓存名字和共享内存大小 inactive 在指定时间内没人访问则被删除 max_size 最大缓存空间,如果缓存空间满,默认覆盖掉缓存时间最长的资源。 Last modification:March 2, 2019 © Allow specification reprint Like 如果觉得我的文章对你有用,请随意赞赏
One comment
有钱人的东西啊