Nginx本地目录映射实现代码实例


Posted in Servers onMarch 31, 2021

有时候需要访问服务器上的一些静态资源,比如挂载其他设备上的图片到本地的目录,而本地的目录不在nginx根目录下,这个时候就需要简单的做一下目录映射来解决,比如想通过浏览器http://ip/image/2016/04/29/10/abc.jpg访问到系统目录/image_data/2016/04/29/10/abc.jpg需要在nginx.conf中对应的server {}下添加location规则,配置如下:

location /image/ {
      root /;
      rewrite ^/image/(.*)$ /image_data/$1 break;
    }

  location /image/设置服务器拦截含有/image/的请求,实际上范围根据实际情况确定精确度

  root /;设定作用的根目录,rewrite就是真正的跳转规则,设置以image为开头的请求跳转到/image_data开头的根目录,后面的参数原封不动的添加过去,这样就实现了目录的映射,

  使用上面的规则可以很方便的映射到本地指定的多个用于静态访问的目录

  保存之后使用 ./nginx -s reload 重新载入配置文件,访问指定的url就访问到了

  另外还可以灵活配置精确代理,比如代理某一个访问路径,比如我们访问http://ip/abc/bcd/123.ico这时候我们映射到/web/host1/123.ico那么可以配置如下规则:

location /abc/bcd/123.ico {
  root /;
  rewrite ^/abc/bcd/123.ico$ /web/host1/123.ico break;
}

  以上就实现了精确地路径代理,注意后面的/web/host1属于文件系统路径,而不是web主机的虚拟目录,因为上面root设置的是根目录,如果没有指定root那么以前面的server块中指定的全局root值为准,每个location块中属性的作用域只是这一个块中;

另外可以代理多个路径可以通过web真实路径访问也可以使用代理路径访问,从而根据不同的业务需求设置代理,那么nginx本身就可以实现很多实用并且好用的功能

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Servers 相关文章推荐
nginx配置ssl实现https的方法示例
Mar 31 Servers
nginx 反向代理之 proxy_pass的实现
Mar 31 Servers
nginx部署多前端项目的几种方法
May 25 Servers
Windows下用Nginx配置https服务器及反向代理的问题
Sep 25 Servers
Nginx实现会话保持的两种方式
Mar 18 Servers
详解使用内网穿透工具Ngrok代理本地服务
Mar 31 Servers
了解Kubernetes中的Service和Endpoint
Apr 01 Servers
使用Nginx的访问日志统计PV与UV
May 06 Servers
apache ftpserver搭建ftp服务器
May 20 Servers
WinServer2012搭建DNS服务器的方法步骤
Jun 10 Servers
教你nginx跳转配置的四种方式
Jul 07 Servers
Tomcat安装使用及部署Web项目的3种方法汇总
Aug 14 Servers
nginx 防盗链防爬虫配置详解
Mar 31 #Servers
Nginx服务器如何设置url链接
nginx搭建图片服务器的过程详解(root和alias的区别)
Mar 31 #Servers
Nginx代理同域名前后端分离项目的完整步骤
Mar 31 #Servers
Nginx+SpringBoot实现负载均衡的示例
win10安装配置nginx的过程
Filebeat 采集 Nginx 日志的方法
You might like
多文件上载系统完整版
2006/10/09 PHP
php cout<<的一点看法
2010/01/24 PHP
PHP中10个不常见却非常有用的函数
2010/03/21 PHP
PHP调用MsSQL Server 2012存储过程获取多结果集(包含output参数)的详解
2013/07/03 PHP
php调用Google translate_tts api实现代码
2013/08/07 PHP
jquery tab标签页的制作
2010/05/10 Javascript
javascript创建和存储cookie示例
2014/01/07 Javascript
jquery $("#variable") 循环改变variable的值示例
2014/02/23 Javascript
JavaScript 获取任一float型小数点后两位的小数
2014/06/30 Javascript
JavaScript判断IE版本型号
2015/07/27 Javascript
vue使用drag与drop实现拖拽的示例代码
2017/09/07 Javascript
js 计算图片内点个数的示例代码
2019/04/04 Javascript
[02:42]决战东方!DOTA2亚洲邀请赛重启荣耀之争
2017/03/17 DOTA
使用python检测手机QQ在线状态的脚本代码
2013/02/10 Python
python处理中文编码和判断编码示例
2014/02/26 Python
Python打印scrapy蜘蛛抓取树结构的方法
2015/04/08 Python
详解python3中的真值测试
2018/08/13 Python
python在TXT文件中按照某一字符串取出该字符串所在的行方法
2018/12/10 Python
selenium+python自动化测试之环境搭建
2019/01/23 Python
python实现网站用户名密码自动登录功能
2019/08/09 Python
django和vue实现数据交互的方法
2019/08/21 Python
使用 pytorch 创建神经网络拟合sin函数的实现
2020/02/24 Python
python GUI库图形界面开发之PyQt5 Qt Designer工具(Qt设计师)详细使用方法及Designer ui文件转py文件方法
2020/02/26 Python
python爬虫使用requests发送post请求示例详解
2020/08/05 Python
html5组织文档结构_动力节点Java学院整理
2017/07/11 HTML / CSS
What's the difference between an interface and abstract class? (接口与抽象类有什么区别)
2012/10/29 面试题
职专应届生求职信
2013/11/16 职场文书
八一建军节部队活动方案
2014/02/04 职场文书
2014新课程改革心得体会
2014/03/10 职场文书
元旦寄语大全
2014/04/10 职场文书
意外伤害赔偿协议书范文
2014/09/23 职场文书
夫妻分居协议书范本
2014/11/28 职场文书
不同意离婚代理词
2015/05/23 职场文书
公安干警正风肃纪心得体会
2016/01/15 职场文书
医务人员医德医风心得体会
2016/01/25 职场文书
python必学知识之文件操作(建议收藏)
2021/05/30 Python