使用Nginx怎么实现图片服务器动态路由
这期内容当中小编将会给大家带来有关使用Nginx怎么实现图片服务器动态路由,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。
十年的巴彦淖尔网站建设经验,针对设计、前端、开发、售后、文案、推广等六对一服务,响应快,48小时及时工作处理。营销型网站建设的优势是能够根据用户设备显示端的尺寸不同,自动调整巴彦淖尔建站的显示方式,使网站能够适用不同显示终端,在浏览器中调整网站的宽度,无论在任何一种浏览器上浏览网站,都能展现优雅布局与设计,从而大程度地提升浏览体验。创新互联从事“巴彦淖尔网站设计”,“巴彦淖尔网站推广”以来,每个客户项目都认真落实执行。
实现思路
为了方便演示,这里用192.168.1.100替代 www.xxx.com
服务器 | 存储地址 | 访问地址 |
---|---|---|
服务器A | /usr/local/upload/ | 192.168.1.100:8080/upload |
服务器B | /usr/local/upload/ | 192.168.1.101:8080/upload |
仍旧访问原来的对外地址,http://192.168.1.100:8080/upload/demo.jpg;
当原地址访问404时,自动访问服务器B对应的附件,URL地址不变;
步骤
1、启动服务器A的图片服务(192.168.1.100)
服务器A需安装Nginx,安装步骤略
server { listen 8080; server_name localhost; # 例如访问 http://192.168.1.100:8080/upload/demo.jpg location ^~ /upload/ { # 相当于访问 /usr/local/upload/demo.jpg root /usr/local; } ... }
启动nginx,访问 http://192.168.1.100:8080/upload/demo.jpg,现在能正确访问服务器A的/usr/local/upload/demo.jpg
2、启动服务器B的图片服务(192.168.1.101)
服务器B同样安装Nginx,安装步骤略
# 服务器B的nginx配置 server { listen 8080; server_name localhost; # 例如访问 http://192.168.1.101:8080/upload/demo.jpg location ^~ /upload/ { # 相当于访问 /usr/local/upload/demo.jpg root /usr/local; } ... }
启动nginx,访问 http://192.168.1.101:8080/upload/demo.jpg,现在能正确访问服务器B的/usr/local/upload/demo.jpg
3、修改服务器A的nginx配置
服务器A中的nginx配置,如下
server { listen 8080; server_name localhost; # 例如访问 http://192.168.1.100:8080/upload/demo.jpg location ^~ /upload/ { # 相当于访问 /usr/local/upload/demo.jpg root /usr/local; # 如果访问不到,则尝试访问新的路径,$uri相当于/upload/demo.jpg,即将uri也传递至@new_uploads try_files $uri @upload_B; } location @upload_B { proxy_redirect off; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; # 代理服务器B的地址 proxy_pass http://192.168.1.101:8080; } }
重新启动服务器A的nginx,并删除服务器A对应的图片,访问 http://192.168.1.100:8080/upload/demo.jpg,会发现得到的是服务器B的图片,即成功实现图片的动态“切换”,完成业务目标。
总结
利用nginx的
try_files $uri @upload_B
,实现内部重定向。
上述就是小编为大家分享的使用Nginx怎么实现图片服务器动态路由了,如果刚好有类似的疑惑,不妨参照上述分析进行理解。如果想知道更多相关知识,欢迎关注创新互联行业资讯频道。
当前名称:使用Nginx怎么实现图片服务器动态路由
新闻来源:http://azwzsj.com/article/gpjpee.html