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的rewrite模块详解
Mar 31 Servers
Nginx设置日志打印post请求参数的方法
Mar 31 Servers
Nginx进程调度问题详解
Sep 25 Servers
Nginx速查手册及常见问题
Apr 07 Servers
Nginx禁止ip访问或非法域名访问
Apr 07 Servers
鲲鹏 CentOS 7 安装Python3.7
May 11 Servers
Nginx限流和黑名单配置
May 20 Servers
Nginx本地配置SSL访问的实例教程
May 30 Servers
详解apache编译安装httpd-2.4.54及三种风格的init程序特点和区别
Jul 15 Servers
SpringBoot前端后端分离之Nginx服务器下载安装过程
Aug 14 Servers
ssh服务器拒绝了密码 请再试一次已解决(亲测有效)
Aug 14 Servers
CentOS7 minimal 最小化安装网络设置过程
Dec 24 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
php生成xml简单实例代码
2009/12/16 PHP
php带密码功能并下载远程文件保存本地指定目录 修改加强版
2010/05/16 PHP
php 文本文件的读取效率
2012/02/10 PHP
php生成短网址示例
2014/05/05 PHP
PHP多维数组排序array详解
2017/11/21 PHP
javascript 混合的构造函数和原型方式,动态原型方式
2009/12/07 Javascript
php gethostbyname获取域名ip地址函数详解
2010/01/24 Javascript
jquery 查找select ,并触发事件的实现代码
2011/03/30 Javascript
基于jquery实现的移入页面上空文本框时,让它变为焦点,移出清除焦点
2011/07/26 Javascript
通过jquery-ui中的sortable来实现拖拽排序的简单实例
2016/05/24 Javascript
jQuery控制文本框只能输入数字和字母及使用方法
2016/05/26 Javascript
全面解析Bootstrap表单样式的使用
2016/09/09 Javascript
JS实现颜色梯度与渐变效果完整实例
2016/12/30 Javascript
JS使用队列对数组排列,基数排序算法示例
2019/03/02 Javascript
elementui之el-tebs浏览器卡死的问题和使用报错未注册问题
2019/07/06 Javascript
layui插件表单验证提交触发提交的例子
2019/09/09 Javascript
vue多页面项目中路由使用history模式的方法
2019/09/23 Javascript
Javascript实现html转pdf高清版(提高分辨率)
2020/02/19 Javascript
Python操作Mysql实例代码教程在线版(查询手册)
2013/02/18 Python
Python找出微信上删除你好友的人脚本写法
2018/11/01 Python
python调用外部程序的实操步骤
2019/03/04 Python
python 列表转为字典的两个小方法(小结)
2019/06/28 Python
css3实现可滑动跳转的分页插件示例
2014/05/08 HTML / CSS
CSS3 实现的火焰动画
2020/12/07 HTML / CSS
美国电子元器件分销商:Newark element14
2018/01/13 全球购物
Ivory Isle Designs美国/加拿大:婚礼和活动文具公司
2018/08/21 全球购物
一些PHP的面试题
2015/05/06 面试题
我想声明一个指针并为它分配一些空间, 但却不行。这些代码有什么 问题?char *p; *p = malloc(10);
2016/10/06 面试题
linux面试题参考答案(7)
2012/10/29 面试题
出纳的岗位职责
2013/11/09 职场文书
普通简短的个人自我评价
2014/02/15 职场文书
教师廉洁自律承诺书
2014/05/26 职场文书
施工单位安全责任书
2014/07/24 职场文书
严以律己学习心得体会
2016/01/13 职场文书
Java比较两个对象中全部属性值是否相等的方法
2021/08/07 Java/Android
Win11任务栏无法正常显示 资源管理器不停重启的解决方法
2022/07/07 数码科技