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中break与last的区别详析
Mar 31 Servers
基于Nginx实现限制某IP短时间访问次数
Mar 31 Servers
windows下快速安装nginx并配置开机自启动的方法
May 11 Servers
Linux中Nginx的防盗链和优化的实现代码
Jun 20 Servers
nginx的zabbix 5.0安装部署的方法步骤
Jul 16 Servers
Docker 镜像介绍以及commit相关操作
Apr 13 Servers
V Rising 服务器搭建图文教程
Jun 16 Servers
TaiShan 200服务器安装Ubuntu 18.04的图文教程
Jun 28 Servers
如何让你的Nginx支持分布式追踪详解
Jul 07 Servers
Nginx如何获取自定义请求header头和URL参数详解
Jul 23 Servers
windows server2012 R2下安装PaddleOCR服务的的详细步骤
Sep 23 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
新浪微博API开发简介之用户授权(PHP基础篇)
2011/09/25 PHP
php实现修改新闻时删除图片的方法
2015/05/12 PHP
yii2 开发api接口时优雅的处理全局异常的方法
2019/05/14 PHP
解决Laravel 不能创建 migration 的问题
2019/10/09 PHP
laravel 解决多库下的DB::transaction()事务失效问题
2019/10/21 PHP
thinkphp 框架数据库切换实现方法分析
2020/05/18 PHP
js清除input中type等于file的值域(示例代码)
2013/12/24 Javascript
jQuery鼠标事件汇总
2015/08/30 Javascript
用户代理字符串userAgent可实现的四个识别
2015/09/20 Javascript
JQuery Mobile实现导航栏和页脚
2016/03/09 Javascript
深入浅析JavaScript中的Function类型
2016/07/09 Javascript
NodeJS实现微信公众号关注后自动回复功能
2017/05/31 NodeJs
详解使用vuex进行菜单管理
2017/12/21 Javascript
webpack 插件html-webpack-plugin的具体使用
2018/04/09 Javascript
webstorm中配置nodejs环境及npm的实例
2018/05/15 NodeJs
vue2.0 实现导航守卫的具体用法(路由守卫)
2018/05/17 Javascript
vue组件文档(.md)中如何自动导入示例(.vue)详解
2019/01/25 Javascript
详解vue-cli3开发Chrome插件实践
2019/05/29 Javascript
JavaScript实现弹出窗口效果
2020/12/09 Javascript
Python创建系统目录的方法
2015/03/11 Python
剖析Python的Tornado框架中session支持的实现代码
2015/08/21 Python
pygame 精灵的行走及二段跳的实现方法(必看篇)
2017/07/10 Python
Python基于time模块求程序运行时间的方法
2017/09/18 Python
Python基于identicon库创建类似Github上用的头像功能
2017/09/25 Python
Python实现i人事自动打卡的示例代码
2020/01/09 Python
Python自定义聚合函数merge与transform区别详解
2020/05/26 Python
python实现图像外边界跟踪操作
2020/07/13 Python
举例详解CSS3中的Transition
2015/07/15 HTML / CSS
德国机车企业:FC-Moto
2017/10/27 全球购物
娇韵诗法国官网:Clarins法国
2019/01/29 全球购物
物流管理应届生求职信
2013/11/07 职场文书
国际语言毕业生求职信
2014/07/08 职场文书
2015年全国保险公众宣传日活动方案
2015/05/06 职场文书
2016年领导干部正风肃纪心得体会
2015/10/09 职场文书
Python离线安装openpyxl模块的步骤
2021/03/30 Python
MySQL深分页问题解决思路
2022/12/24 MySQL