nginx做本地目录映射

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

有时候需要访问服务器上的一些静态资源,比如挂载其他设备上的图片到本地的目录,而本地的目录不在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本身就可以实现很多实用并且好用的功能

免责声明:文章转载自《nginx做本地目录映射》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇Nohup后台运行程序uniapp 实现动态切换全局主题色下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

启动Eclipse时,弹出JVM terminated. Exit code=127..错误的解决方案

在Linux环境下,启动Eclipse,会弹出并报如下的错误,且不能启动该工具 JVM terminated. Exit code=127/eclipse/jdk1.7.0_71/bin/java-Dosgi.requiredJavaVersion=1.6-XX:MaxPermSize=256m-Xms40m-Xmx512m-jar /root/sourc...

虚拟机与ubuntu系统的安装与基础操作

1.虚拟机的下载: 常见的虚拟机软件有:VMware VirtuaIBOX Virtual PC 等。 这里主要介绍VMware ,VMware目前已经有很多个版本,可以根据个人情况进行选择。安装完成后打开选择个人或家庭免费使用。 2.ubuntu iso包下载: linux各发行版本下载地址 <-这个是个人推荐的一个linux各发行版本的下载地址。...

从入门到实践,快速掌握 Nginx 研发

Nginx 是一种非常流行的 Web 服务器软件,全球超过 30%的网站都在 Nginx 上运行,如腾讯、淘宝、百度、京东、新浪、网易等。 对于开发来说,我们在工作中或多或少都会遇到 web 性能优化、高并发等问题,而 Nginx 是一个万能药,它具备高性能、高扩展性、高可靠性、低内存消耗等优势,不管是个人建立网站、博客,还是进行互联网应用开发,都可以轻松...

docker服务编排--docker-compose

根据哔哩哔哩视频【docker入门2】实战~如何组织一个多容器项目docker-compose进行学习 利用网站https://labs.play-with-docker.com/进行测试 第一步,安装nginx镜像 # 拉取nginx镜像 docker pull nginx # 运行nginx容器 docker run -d -p80:80 --name...

nginx安装配置lua支持

nginx安装很简单,配置lua相关的支持就需要额外的安装一些库和编译。 一、准备环境 yum -y install lua*wget https://luajit.org/download/LuaJIT-2.0.4.tar.gz wget https://github.com/simpl/ngx_devel_kit/archive/v0.2.19.tar...

利用nginx_push_stream_module实现服务器消息推送

NGiNX_HTTP_Push_Module 是一个 Nginx 的扩展模块,它实现了 HTTP Push 和Comet server的功能。HTTP Push 被经常用在网页上主动推的技术,例如一些聊天室啊,更新信息非常频繁的应用场合。 Http Server Push是一种推送技术,服务器主动向浏览器发送数据。  可以参考:http://wiki.n...