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快速入门教程
Mar 31 Servers
nginx反向代理时如何保持长连接
Mar 31 Servers
Nginx反爬虫策略,防止UA抓取网站
Mar 31 Servers
Nginx实现高可用集群构建(Keepalived+Haproxy+Nginx)
May 27 Servers
nginx配置文件使用环境变量的操作方法
Jun 02 Servers
Nginx配置根据url参数重定向
Apr 11 Servers
Windows Server 2012 R2 磁盘分区教程
Apr 29 Servers
tomcat下部署jenkins的方法
May 06 Servers
利用nginx搭建RTMP视频点播、直播、HLS服务器
May 25 Servers
win server2012 r2服务器共享文件夹如何设置
Jun 21 Servers
Windows server 2003卸载和安装IIS的图文教程
Jul 15 Servers
Elasticsearch6.2服务器升配后的bug(避坑指南)
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
PHP严重致命错误处理:php Fatal error: Cannot redeclare class or function
2017/02/05 PHP
php把字符串指定字符分割成数组的方法
2018/03/12 PHP
Knockout自定义绑定创建方法
2015/12/26 Javascript
JavaScript中的数组遍历forEach()与map()方法以及兼容写法介绍
2016/05/19 Javascript
ashx文件获取$.ajax()方法发送的数据
2016/05/26 Javascript
AngularJS表单详解及示例代码
2016/08/17 Javascript
学习使用Bootstrap栅格系统
2017/05/11 Javascript
浅谈pc端rem字体设置的问题
2017/08/03 Javascript
js基于FileSaver.js 浏览器导出Excel文件的示例
2017/08/15 Javascript
详解利用 Express 托管静态文件的方法
2017/09/18 Javascript
Angular客户端请求Rest服务跨域问题的解决方法
2017/09/19 Javascript
详解vue-admin和后端(flask)分离结合的例子
2018/02/12 Javascript
Vue数据双向绑定原理及简单实现方法
2018/05/18 Javascript
npx create-react-app xxx创建项目报错的解决办法
2020/02/17 Javascript
JS事件循环机制event loop宏任务微任务原理解析
2020/08/04 Javascript
深入Python函数编程的一些特性
2015/04/13 Python
Python用模块pytz来转换时区
2016/08/19 Python
解决matplotlib库show()方法不显示图片的问题
2018/05/24 Python
python版opencv摄像头人脸实时检测方法
2018/08/03 Python
Python高斯消除矩阵
2019/01/02 Python
python3实现zabbix告警推送钉钉的示例
2019/02/20 Python
pyqt5实现登录界面的模板
2020/05/30 Python
pandas取出重复数据的方法
2019/07/04 Python
python3实现用turtle模块画一棵随机樱花树
2019/11/21 Python
Python3 requests模块如何模仿浏览器及代理
2020/06/15 Python
纯html5+css3下拉导航菜单实现代码
2013/03/18 HTML / CSS
匡威英国官网:Converse英国
2018/12/02 全球购物
Discard Protocol抛弃协议的作用是什么
2015/10/10 面试题
新闻专业本科生的自我评价分享
2013/11/20 职场文书
房地产营销策划方案
2014/02/08 职场文书
四年级数学上册教学计划
2015/01/20 职场文书
2015年综治维稳工作总结
2015/04/07 职场文书
人事聘任通知
2015/04/21 职场文书
nginx配置proxy_pass中url末尾带/与不带/的区别详解
2021/03/31 Servers
Oracle 区块链表创建过程详解
2021/05/15 Oracle
MySQL中distinct与group by之间的性能进行比较
2021/05/26 MySQL