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设置目录白名单、ip白名单的实现方法
1.设置目录白名单:对指定请求路径不设置限制,如对请求路径为api目录下的请求不做限制,则可写为 server{ location /app { proxy_pass http://192.168.1.111:8095/app; limit_conn conn 20; limit_rate 500k; limit_req zone=foo burst=5 nodelay; } location /app/api { proxy_pass http://192.168.1.111:8095/app
-
nginx反向代理之多端口映射的实现
代码解释 1.1 http:www.baidu.test.com默认是80,访问"/"利用反向代理,然后访问本地8083: 1.2 8083代表本地的前端工程访问地址,前端需要访问后台数据,"/",继续代理到后台地址9803: 1.3 这样就做到了只要开通80端口就可以完成多个端口访问. 1.4 root配置可以是绝对路径,也可是相对路径. server { listen 80; server_name www.baidu.test.com;#你要填写的域名,多个用
-
nginx目录路径重定向的方法
如果希望域名后边跟随的路径指向本地磁盘的其他目录,而不是默认的web目录时,需要设置nginx目录访问重定向. 应用场景:dashidan.com/image自动跳转到dashidan.com/folderName/image.nginx目录路径重定向的四种实现方式.修改root映射,通过Nginx rewrite内部跳转,设置别名alias映射实现,通过nginx的permanent 301绝对跳转实现. 1 nginx修改root映射 修改root映射实现nginx目录访问重定向是最简单的方
-
详解vue通过NGINX部署在子目录或者二级目录实践
1.修改 router/index.js 添加一行 base: 'admin', 2.然后修改 config/index.js 增加一行 const assetsPublicPath = '/admin/' 然后修改 下面两处assetsPublicPath 的值为定义的变量 3.部署时,通过NGINX的反向代理 首先,给需要部署的项目定义一个 NGINX 的 server server { listen 8001; location / { # vue h5 history mode 时配置
-
Nginx端口映射配置方法
前因 搭建一个网站传统的方法是使用一个web服务器去解析文件入口文件,如使用Nginx,Apache解析到对应的入口文件,但是随着技术的发展,一些语言可以自己起一个web服务,如Node,PHP,使用开发语言启动一个web服务默认只能在本地访问,如http://localhost:8000/ http://127.0.0.1:8000/ 但是在Centos里面做开发调试环境,测试是用window的浏览器的,所以要用一个中间的web服务器做端口映射 Nginx端口映射配置 server { lis
-
nginx安装到指定目录的方法示例
公司需求,需要在同一台机器上装两个不同位置的 nginx.what!我之前都是直接装在 /user/local/ 下的啊, 或者 yum install nginx 装在 /etc/nginx 啊,这怎么办 经过我的一番寻找终于看到的一些靠谱的答案. ./configure \ --prefix=你想要安装的目录 \ --sbin-path=/你想要安装的目录/nginx \ --conf-path=/你想要安装的目录/nginx.conf \ --pid-path=/你想要安装的目录/ngin
-
解决Centos7安装nginx后提示“Welcome to nginx on Fedora!”,conf.d目录下无default.conf文件
问题描述 在腾讯云centos7上安装nginx sudo yum install nginx 打开默认网页显示 Welcome to nginx on Fedora! 且 /etc/nginx/conf.d 目录下无default.conf文件 原因 腾讯云的epel源是默认下载就是Fedora的 解决方法 •准备工作 sudo yum install yum-utils •创建nginx.repo文件 sudo vim /etc/yum.repos.d/nginx.repo 并添加以下内容
-
Linux系统中查找正在运行的nginx目录
linux系统因为备份.不同版本等问题,导致ECS Linux上存放有多个Nginx目录,可以通过如下方法定位当前正在运行的Nginx的配置文件: 1. 查看nginx的PID,以常用的80端口为例: netstat -anop | grep 0.0.0.0:80 2. 通过相应的进程ID(比如:4562)查询当前运行的nginx路径: ll /proc/4562/exe 3. 获取到nginx的执行路径后,使用-t参数即可获取该进程对应的配置文件路径,如: # /usr/local/ngin
-
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
-
基于python判断目录或者文件代码实例
这篇文章主要介绍了基于python判断目录或者文件代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 1. 判断目录是否存在 'isdir',删除目录时只有该目录为空才可以 'rmdir' import os if(os.path.isdir('D:/Python_workspace/spyder_space/test_各种功能/哈哈哈哈')): #判断目录是否存在 print('yes') os.rmdir('D:/Python_work
-
Springboot项目使用Slf4j将日志保存到本地目录的实现代码
1.引入jar包 <dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-api</artifactId> <version>1.7.25</version> </dependency> 2.编写application.properties/yml #.properties logging.config= classpath:logback-spr
-
Spring boot文件路径映射配置代码实例
springboot配置本地资源映射路径需要配置一下映射资源位置,下面来介绍一下过程. 1.添加配置类 package org.jcut.tools; import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Component; import org.springframework.web.servlet.config.annotation.ResourceH
-
Nginx本地配置SSL访问的实例教程
目录 前言 1. 配置步骤 1.1生成证书 1.2 转换证书格式 1.3 配置nginx 1.4 注意 总结 前言 有时候,我们正式的环境需要配置Https访问!!! 很多时候,我们需要拿到正式环境的SSL证书,开通域名,等一系列的工作,才能进行我们的Https配置功能. 本地的开发环境,没有相应的证书,也是不太好进行配置和测试等相关的操作!!! 那么我们今天就来谈一下,如何在本地开发环境,配置Https的访问!!! 那我们以nginx服务器为例!!!^_^ 1. 配置步骤 1.1生成证书 ke
-
Nginx域名转发使用场景代码实例
场景1:因服务器限制,所以只对外开放了一个端口,但是需要请求不同的外网环境,所以在中转服务器上用nginx做了一次转发 实现: server { listen 8051; server_name localhost; location /license/ { proxy_pass http://xxx.xxx.xxx.xxx:8058/; } location / { proxy_pass http://xxx.xxx.xxx.xxx:8051/; } } 特别注意: 敲黑板:此处如果涉及到文件
-
java怎么创建目录(删除/修改/复制目录及文件)代码实例
复制代码 代码如下: import java.io.*; public class FileOperate { public FileOperate() { } /** * 新建目录 * @param folderPath String 如 c:/fqf * @return boolean */ public void newFolder(String folderPath) { try { String filePath = folder
-
Java及nginx实现文件权限控制代码实例
我们知道,使用nginx作为文件下载服务器,可以极大地降低对后端Java服务器的负载冲击,但是nginx本身并不提供授权控制,因此好的方案是由后端服务器实现权限控制,最好的方式是直接复用应用的认证体系,最大化的降低成本.因此,可借助http的"X-Accel-Redirect"头实现该特性.具体如下: location /bookres/ { #禁止浏览器直接访问 internal; limit_rate 200k; alias d:/test/bookres/; #转由后台处理(to
-
Nginx实现https网站配置代码实例
https基础 443端口. 用于了一个叫密钥的东西. 不要觉得这些东西您不了解也能实现. 不可能的. 1.先成密钥.咱们直接linux下生成 假设nginx目录为 /usr/local/nginx-1.2.9 接下来 cd /usr/local/nginx-1.2.9/conf/; mkdir ssl; cd ssl; #下面开始创建密钥.如果不熟悉完全不必理会为什么这么做照做就可以了 openssl genrsa -des3 -out server.key 1024;#这一步会让您输入密码.
-
教你在JNA中将本地方法映射到JAVA代码中的示例
目录 简介 Library Mapping Function Mapping Invocation Mapping 防止VM崩溃 性能考虑 总结 简介 不管是JNI还是JNA,最终调用的都是native的方法,但是对于JAVA程序来说,一定需要一个调用native方法的入口,也就是说我们需要在JAVA方法中定义需要调用的native方法. 对于JNI来说,我们可以使用native关键字来定义本地方法.那么在JNA中有那些在JAVA代码中定义本地方法的方式呢? Library Mapping 要想
随机推荐
- angular4 如何在全局设置路由跳转动画的方法
- Android如何获取屏幕、状态栏及标题栏的高度详解
- Vue2.0 从零开始_环境搭建操作步骤
- PowerShell一次打开多个文件的方法
- AngularJs Understanding the Model Component
- vue2实现移动端上传、预览、压缩图片解决拍照旋转问题
- 进程监控实现代码[vbs+bat]
- iOS-GCD使用详解及实例解析
- JQuery为textarea添加maxlength属性的代码
- javascript实现控制的多级下拉菜单
- php中inlcude()性能对比详解
- python抓取豆瓣图片并自动保存示例学习
- PHP编码转换
- js通过更改按钮的显示样式实现按钮的滑动效果
- BootStrap CSS全局样式和表格样式源码解析
- 强烈声明: 不要使用(include/require)_once
- python实现批量获取指定文件夹下的所有文件的厂商信息
- JS date对象的减法处理实现代码
- Python提取网页中超链接的方法
- 自己编写sqlhelper类示例分享