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实现上游服务器动态自动上下线无需reload的实现方法
Mar 31 Servers
nginx对http请求处理的各个阶段详析
Mar 31 Servers
Nginx设置日志打印post请求参数的方法
Mar 31 Servers
nginx location优先级的深入讲解
Mar 31 Servers
教你快速开启Apache SkyWalking的自监控
Apr 25 Servers
nginx配置文件使用环境变量的操作方法
Jun 02 Servers
nginx实现动静分离的方法示例
Nov 07 Servers
阿里云 Windows server 2019 配置FTP
Apr 28 Servers
KVM基础命令详解
Apr 30 Servers
安装harbor作为docker镜像仓库的问题
Jun 14 Servers
在windows server 2012 r2中安装mysql的详细步骤
Jul 23 Servers
Nginx如何配置多个服务域名解析共用80端口详解
Sep 23 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
main.php
2006/12/09 PHP
PHP5 安装方法
2007/01/15 PHP
php记录搜索引擎爬行记录的实现代码
2018/03/02 PHP
$.ajax返回的JSON无法执行success的解决方法
2011/09/09 Javascript
json原理分析及实例介绍
2012/11/29 Javascript
js原型继承的两种方法对比介绍
2014/03/30 Javascript
JQuery获取与设置HTML元素的内容或文本的实现代码
2014/06/20 Javascript
JQuery日期插件datepicker的使用方法
2016/03/03 Javascript
jQuery中队列queue()函数的实例教程
2016/05/03 Javascript
基于JS组件实现拖动滑块验证功能(代码分享)
2016/11/18 Javascript
浅谈Nodejs中的作用域问题
2016/12/26 NodeJs
微信小程序 页面跳转如何实现传值
2017/04/05 Javascript
Three.js开发实现3D地图的实践过程总结
2017/11/20 Javascript
node内置调试方法总结
2018/02/22 Javascript
Angular数据绑定机制原理
2018/04/17 Javascript
JavaScript引用类型Date常见用法实例分析
2018/08/08 Javascript
解决vue中post方式提交数据后台无法接收的问题
2018/08/11 Javascript
深入理解JavaScript的值传递和引用传递
2018/10/24 Javascript
详解基于node.js的脚手架工具开发经历
2019/01/28 Javascript
PostgreSQL Node.js实现函数计算方法示例
2019/02/12 Javascript
使用layui 的layedit定义自己的toolbar方法
2019/09/18 Javascript
node.js中对Event Loop事件循环的理解与应用实例分析
2020/02/14 Javascript
微信小程序弹窗禁止页面滚动的实现代码
2020/12/30 Javascript
[02:41]DOTA2英雄基础教程 冥魂大帝
2014/01/16 DOTA
在Python上基于Markov链生成伪随机文本的教程
2015/04/17 Python
python实现在sqlite动态创建表的方法
2015/05/08 Python
Python实现八大排序算法
2016/08/13 Python
Python实现读取机器硬件信息的方法示例
2018/06/09 Python
Python3+OpenCV2实现图像的几何变换(平移、镜像、缩放、旋转、仿射)
2019/05/13 Python
pandas将多个dataframe以多个sheet的形式保存到一个excel文件中
2019/10/10 Python
使用Python实现Wake On Lan远程开机功能
2020/01/22 Python
python+selenium+PhantomJS抓取网页动态加载内容
2020/02/25 Python
python切割图片的示例
2020/11/12 Python
美国领先的奢侈美容零售商:Bluemercury
2017/07/26 全球购物
意大利灯具购物网站:Lampade.it
2018/10/18 全球购物
装修活动策划方案
2014/08/27 职场文书