提醒:本文最后更新于 3427 天前,文中所描述的信息可能已发生改变,请仔细核实。
应瓜瓜和Mr.小可的要求,详细(废话多一点)的说一下怎么解决相册请求的图片地址必须为本地,将其改为远程的办法。。。
改PHP什么的就不用我废话了,大家不用继续看下去了。。。本文不讲这个。
讲的是文章《将相册请求转接到又拍云,并用ImageMagick压缩》中有关如何将相册请求的本地地址,请求到又拍云。
我的相册是Imagevue,第一次看见他,是在SAM老哥那看到的。具体文件呢,也是SAM老哥慷慨提供(之前下的不知为毛不能用)。
这个相册不错,但是呢,只能请求本地文件夹,虽然偶带宽什么都是够多,但是也不想过多的图片在我的服务器上,而且又搞了又拍云(你妹的,又拍云就是为相册买的,有木有,不能用,搞毛啊),不能读取远程又拍云图片真是太坑爹了。
在上面那个传送门文章,我说了使用了nginx直接重定向向到又拍云,会使得Imagevue相册无法打开。悲剧。于是偶采用了另类办法。
Imagevue相册请求的图片地址是我的本地目录的/content/目录,里面还有小目录,细分是什么名字的相册。于是我利用nginx将所有请求到该目录的地址,一律转发到又拍云,为了不使得非图片文件转发到远程读取,我限定了,只有jpg|JPG才能读取,因为我里面只有jpg的图片,为毛有大小写呢?因为linux是区分大小写。
具体的nginx.conf是:
listen 11314;
server_name default;
index index.php;
root /data/album;
location ~ /content/.*\.(JPG|jpg)$ {
expires 30d;
rewrite ^/content/(.*)$ /content/$1 break;
proxy_pass http://kn007.b0.upaiyun.com;
}
location ~ .*\.(php|php5)?$
{
try_files $uri =404;
fastcgi_pass unix:/tmp/php-cgi.sock;
fastcgi_index index.php;
include fcgi.conf;
}
access_log off;
}
当然啦,要是图片有显示必须确保http://kn007.b0.upaiyun.com/content/是存在并且按照规定放置图片的。
大概请求示意图:
这样就ok了。。。据说ngg请求本地目录是/wp-content/gallery/,那么,同上,可得:
listen 11314;
server_name default;
index index.php;
root /data/album;
location ~ /wp-content/gallery/.*\.(JPG|jpg)$ {
expires 30d;
rewrite ^/wp-content/gallery/(.*)$ /ngg/$1 break;
proxy_pass http://kn007.b0.upaiyun.com;
}
location ~ .*\.(php|php5)?$
{
try_files $uri =404;
fastcgi_pass unix:/tmp/php-cgi.sock;
fastcgi_index index.php;
include fcgi.conf;
}
access_log off;
}
确保http://kn007.b0.upaiyun.com/ngg/是存在并且按照规定放置图片的就ok了。
因此,ngg的请求也异步到了又拍。。。
使用异步定向,也就是保持了原始地址读取,实际由指定地址读取内容。(这样的话,对本身主机响应请求速度有要求,图片不耗本机流量,请求的流量很小,可忽略不计)。
最后还是提提偶的相册地址 album.kn007.net
转载请注明转自: kn007的个人博客 的《详谈nginx如何使用转发规则异步请求目标地址》


第一个占沙发的人,我去试试了..
@瓜瓜: 去吧...
@瓜瓜: 看完了在占坐是不是有点晚。
@小怪物:
我也去试试。
@老猫Music:
@kn007: 妹的,咋试。那个阿里云服务器都没配置好,你要不 拿去玩吧。(啥时候阿里云这么贱了)
@老猫Music: 不玩,最近没时间
又拍的确挺好的,就是贵了点啊。
@findfeel: 还行。。
@kn007: 速度杠杠的。
@findfeel: 那是
可以试试
@Musk:

请教,我设置好W3 Total Cache并把东西上传到又拍云了,但是貌似还是无法调用又拍云上的js,css,求解。谢谢
@愚蠢的凡人: 设置CDN啊。
@kn007: 就是设置好了
@愚蠢的凡人: ...别告诉我,你的w3tc还是调试模式
@kn007: 哪里看还是调试模式,汗了
@愚蠢的凡人: https://kn007.net/topics/i-virtual-host-w3tc-settings-at-a-glance/ 第一张图
好吧,我是进来学习的。。。

@山姆:
贻笑大方
呵呵 依然看不懂
@feifan520: 嘿嘿,不要求女生看懂
@kn007: 这话说得 虽然很正确 但是怎么有点歧视的小感呢 有木有
@feifan520: 木有,这话打死都不能承认
@kn007: 好吧 赐你不死
来过 看过
我是进来测试留言的 哈哈哈 ajax么
@刘荣焕: 是ajax,话说你好歹搞个头像啊
又拍好似是收费的吧~~我相册都是本地的~~貌似放在别人那总有点不安心的感觉~~~尽管他很牛逼~尽管他知名度很高~附件放在百度都还蛋疼蛋疼的~~~~
@小T: 我是本地远程都放~
@kn007: 这个整理起来不是很蛋疼....
@小T: 额,不会啊,本地弄好了,发远程就好了,我只需要把图片上传到服务器就行了,搞完了,直接服务器发送到又拍云。
@kn007: 干~~这都行~~
@小T: 难道你还想。。。本地远程都上传一遍,
你不累,带宽也累啊。。服务器G口对又拍G口,速度贼快~ 
@kn007: 那加载的资源是从那边算?又拍?
@小T: 肯定是又拍啊,本地的纯属死文件,删了完全木有问题
又拍分流了我2/3的流量