文档章节

Nginx 映射本地静态文件

zcqshine
 zcqshine
发布于 2017/07/26 10:36
字数 550
阅读 298
收藏 0

有时候需要访问服务器上的一些静态资源,比如挂载其他设备上的图片到本地的目录,而本地的目录不在nginx根目录下,这个时候就需要简单的做一下目录映射来解决,比如想通过浏览器http://ip/image/2016/04/29/10/abc.jpg访问到系统目录/image_data/2016/04/29/10/abc.jpg需要在nginx.conf中添加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本身就可以实现很多实用并且好用的功能。

此贴为转帖。原文地址:http://www.cnblogs.com/freeweb/p/5446632.html 如侵删。

本文转载自:

共有 人打赏支持
zcqshine
粉丝 6
博文 42
码字总数 14192
作品 0
深圳
高级程序员
私信 提问
Nginx配置指南

欢迎光临我的博客拓跋的前端客栈,这个是原文地址。如果您发现我文章中存在错误,请尽情向我吐槽,大家一起学习一起进步φ(>ω<*) 什么是Nginx? 没有什么文档比直接从Nginx官网来的更准确清...

zhleven
2017/11/14
0
0
nginx 入门、安装与简单使用

本文内容: 1. nginx 简介 2. nginx 安装 3. nginx 简单使用 一、Nginx 的三大功能 1.HTTP服务器 Nginx是一个HTTP服务器,可以将服务器上的静态文件(如HTML、图片)通过HTTP协议展现给客户端...

辣妈程序媛
03/11
0
0
Docker之nginx容器中部署静态文件

注: Docker版本如下: 本人使用的是ubuntu18, 已经安装了docker, 之后要有nginx镜像, 我使用的nginx镜像是nginx:1.14 前后端分离, 前端单独部署在nginx中, 但是安装nginx, 看了教程, 感觉要装...

克虏伯
昨天
0
0
Nginx将utf8编码的url解码成\x的16进制格式导致无法匹配静态文件的问题处理

例如请求/touch/article/北京/full.html,到达nginx后变成/ /touch/article/%E5%8C%97%E4%BA%AC/full.html, Nginx静态文件配置: location ~ ^/touch/article/..html$ { expires -1; root ......

hellooworld
2016/10/24
0
0
一、在Docker容器中部署静态网站

创建Docker容器 创建一个命名为web的ubuntu容器, 具体的命令参数可查阅官方文档。 安装Nginx 执行完上面的命令后, 程序会自动进入容器中, 我们通过Nginx提供web服务,首先执行一下: 避免...

90design
07/04
0
0

没有更多内容

加载失败,请刷新页面

加载更多

Gensim?

Gensim是一款开源的第三方Python工具包,用于从原始的非结构化的文本中,无监督地学习到文本隐层的主题向量表达。它支持包括TF-IDF,LSA,LDA,和word2vec在内的多种主题模型算法,支持流式训...

火力全開
10分钟前
0
0
图片验证码

图片验证码,线上登录是最常见的场景,也有发送手机验证码之前进行图片验证码的验证。 图片验证码很大程度上防止机器人撞库登录或频繁发起短信验证码从而使系统暂时性"瘫痪"。 以下是项目中用...

貔貅叔
13分钟前
0
0
科班出身程序员和培训出来的程序员区别在哪?

科班出身只是代表你要从事的职业和你的专业是一致的,代表着你具备了得天独厚的优势,至于是不是优势看你上班好不好学,平时逃课没,上班是认真听还是玩手机。一般而言科班出来的理论性比较强...

java菜分享
13分钟前
0
0
java框架学习日志-8(AOP简介)

小王被委托开发一款游戏,程序分为启动页面,登陆页面,战斗页面等。小王就采用了面向对象编程思想(OOP),把整个程序分解成下图 这种就是传统的自上而下的编程,或者说纵向的编程,负责启动...

白话
13分钟前
2
0
简易ZK分布式锁实现与测试

分布式锁创建以及销毁 public class ZKLock { private String node; public String path = "/lock"; ZkClient zkClient = new ZkClient("192.168.0.239"); public......

zzx10
14分钟前
0
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部