nginx搭建图片服务器的过程详解(root和alias的区别)

安装过程略(我是直接用 yum -y install nginx; 安装的)。

启动

启动(重启)nginx,以下2个命令都可以:

systemctl restart nginx;
# 注:这里的nginx不是目录,是cd不进去的
/usr/sbin/nginx -s reload;

一般不报错就是启动成功。

页面验证nginx是否启动

浏览器输入ip,返回centos页面,这不对吧?
看下配置文件:

root /usr/share/nginx/html;

该目录下的index.html 内容就是centos首页内容,说明没问题,nignx启动了(也可以改下index.html的title确定下)。

准备工作

mkdir -p /data/images; # 创建图片文件存放目录
chmod -R 755 /data/images; # 授权
cd /data/images;
然后 rz 命令上传个图片01.png 

vim /etc/nginx.conf,添加配置:

location /images {
 root /data;
 autoindex on;
}

浏览器输入:
111.222.333.444/data/images/01.png;
出现图片,表示成功了。

使用alias配置

使用alias当然也是可以的:

location /images {
 alias /data/images; # 说是后面必须要加'/',这里实测不加也可以
 autoindex on;
}

如下写法有问题:

location /images {
 alias /data;
 autoindex on;
}

问题在哪?
地址栏输入 /images/01.png 是获取不到的。
因为 /images 会映射到 /data ,
但是实际目录是 /data/images/01.png,
所以少了个images。

错误配置

实际可能不会那么顺利,会踩很多坑。

错误配置例1(root)

location /images {
 root /data/images;
 autoindex on;
}

地址栏输入 ip/data/images/01.png 发现获取不到,为什么呢?

期望地址:
/data/images/01.png
实际地址:
/data/images/images/01.png

发现了吧,多了个images,
因为使用root,地址=root+location

其他

root和alias的区别

root alias
地址 root + location 如果没有匹配到,alias + location
如果匹配到,alias中匹配locaiton的部分会被替换掉

还有其他区别,说是alias的路径后面必须加 /,这个未考证。

autoindex on 的作用

autoindex 设置目录浏览。
on:地址栏到images就会显示文件列表
off:必须要文件全路径,只到目录页面提示403 forbidden

location /images {
 	alias /data;
 	# 目录浏览功能,on:地址栏到images就会显示文件列表 off:必须要文件全路径,只到目录页面提示403 forbidden
 autoindex on;
}

ps:nginx配置中root和alias的区别

例:访问http://127.0.0.1/download/*这个目录时候让他去/opt/app/code这个目录找.

方法一(使用root关键字):

location / {
root /usr/share/nginx
}
location /download {
gzip_static off;
tcp_nopush off;
root /opt/app/code;
}

结果:访问的时候他是去/opt/app/code/download/这个目录找了。即:它会在这个目录里再加一层/download目录

方法二(使用alias关键字):

location / {
root /usr/share/nginx
}
location /download {
gzip_static off;
tcp_nopush off;
alias /opt/app/code;
}

结果:访问的时候直接去/opt/app/code/这个目录找。

总结

到此这篇关于nginx搭建图片服务器(root和alias的区别)的文章就介绍到这了,更多相关nginx搭建图片服务器内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • Nginx中的root&alias文件路径及索引目录配置详解

    root&alias文件路径配置 nginx指定文件路径有两种方式root和alias,这两者的用法区别,使用方法总结了下,方便大家在应用过程中,快速响应.root与alias主要区别在于nginx如何解释location后面的uri,这会使两者分别以不同的方式将请求映射到服务器文件上. [root] 语法:root path 默认值:root html 配置段:http.server.location.if [alias] 语法:alias path 配置段:location 实例: loca

  • 详解Nginx搭建图片服务器过程

    在此之前如果你是一个Nginx新手可以先参阅: Windows nginx安装教程及简单实践 linux下安装nginx(图文教程) 本章知识点 效果图: 需求:实现图片的上传和批量上传 技术:Nginx,Vsftpd,Spring,SpringMVC,KindEditor,CentOS 说明:本章节内容主要是实现图片的上传功能.使用 KindEditer 是为了更好的演示图片的上传,回显,批量效果.后台代码与KindEditer没有直接关系,放心阅读.另外源码中有Mybatis的jar,不用理

  • Centos 通过 Nginx 和 vsftpd 构建图片服务器的教程(图文)

    1.Nginx 简介 Nginx (engine x) 是一个高性能的HTTP和反向代理服务器,也是一个IMAP/POP3/SMTP服务器.Nginx是由伊戈尔·赛索耶夫为俄罗斯访问量第二的Rambler.ru站点(俄文:Рамблер)开发的,第一个公开版本0.1.0发布于2004年10月4日. 其将源代码以类BSD许可证的形式发布,因它的稳定性.丰富的功能集.示例配置文件和低系统资源的消耗而闻名.2011年6月1日,nginx 1.0.4发布. Nginx是一款轻量级的Web 服务器/反向代

  • Linux环境下nginx搭建简易图片服务器

    主要使用Nginx和vsftpd. 安装方面可以直接从nginx官网上下载,或者... 复制代码 代码如下: yum install nginx 如果没有yum源则需要自行添加再进行install. 复制代码 代码如下: yum install wget wget http://www.atomicorp.com/installers/atomic  sh ./atomic  yum check update 如果是从官网上下载的则进行如下操作: 复制代码 代码如下: [root@admin l

  • 使用Nginx搭建图片服务器(windows环境下)

    知识点:在windows系统中,搭建图片上传服务器 1.进入官网下载nginx压缩包,解压后目录如下 2.在解压后的conf/nginx.conf配置文件中,添加添加或者修改带有颜色地方的代码 #user nobody; worker_processes 1; #error_log logs/error.log; #error_log logs/error.log notice; #error_log logs/error.log info; #pid logs/nginx.pid; event

  • nginx搭建图片服务器的过程详解(root和alias的区别)

    安装过程略(我是直接用 yum -y install nginx; 安装的). 启动 启动(重启)nginx,以下2个命令都可以: systemctl restart nginx; # 注:这里的nginx不是目录,是cd不进去的 /usr/sbin/nginx -s reload; 一般不报错就是启动成功. 页面验证nginx是否启动 浏览器输入ip,返回centos页面,这不对吧? 看下配置文件: root /usr/share/nginx/html; 该目录下的index.html 内容就

  • nginx搭建jsdelivr镜像站过程详解

    目录 创建 jsdelivr 镜像站 使用 jsdelivr 镜像站 ​最近 jsdelivr 可谓国内站长圈的头条常客,这不,又双叒叕(yòu shuāng ruò zhuó)打不开了. 如何解决这个问题?最简单的方法当然是使用别人建立的jsd镜像站,但是稳定性和可靠性就只能看镜像站长的心情了吧.自己动手丰衣足食,还是自己搞个镜像吧. 创建 jsdelivr 镜像站 首先,你需要有一台安装了 nginx 的服务器.推荐使用腾讯云轻量服务器的Matomo镜像,其中集成了最新稳定版 nginx.p

  • Springcould多模块搭建Eureka服务器端口过程详解

    这篇文章主要介绍了Springcould多模块搭建Eureka服务器端口过程详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 1创建一个普通父maven 在pom修改为因为spring could依赖spring boot所以首先在父maven <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-star

  • 使用Docker搭建MQTT服务器的过程详解

    1. 拉取镜像 docker pull registry.cn-hangzhou.aliyuncs.com/synbop/emqttd:2.3.6 2. 运行镜像 –name 名字 -p 18083 服务器启动端口 -p 1882 TCP端口 -p 8083 WS端口 -p 8084 WSS端口 -p 8883 SSL端口 -d 指定容器 docker run --name emq -p 18083:18083 -p 1883:1883 -p 8084:8084 -p 8883:8883 -p

  • 使用 Koa + TS + ESLlint 搭建node服务器的过程详解

    目录 初始化项目 环境准备 安装环境 初始化 tsconfig.json 简单搭建 Koa 服务器 完整项目搭建 依赖安装 构建目录结构 修改 package.json 代码规范 eslint prettier 初始化项目 环境准备 与之前使用JavaScript 开发后台不同,区别如下: 自动编译运行的插件由nodemon替换为ts-node-dev. 在TypeScript环境下,需要使用到ES6模块化规范.而非CommonJS规则. 使用TypeScript语法进行开发,再开发结束后,需要

  • 基于docker 搭建Prometheus+Grafana的过程详解

    一.介绍Prometheus Prometheus(普罗米修斯)是一套开源的监控&报警&时间序列数据库的组合,起始是由SoundCloud公司开发的.随着发展,越来越多公司和组织接受采用Prometheus,社会也十分活跃,他们便将它独立成开源项目,并且有公司来运作.Google SRE的书内也曾提到跟他们BorgMon监控系统相似的实现是Prometheus.现在最常见的Kubernetes容器管理系统中,通常会搭配Prometheus进行监控. Prometheus基本原理是通过HTT

  • 基于nginx设置浏览器协商缓存过程详解

    这篇文章主要介绍了基于nginx设置浏览器协商缓存过程详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 强缓存与协商缓存的区别 强缓存:浏览器不与服务端协商直接取浏览器缓存 协商缓存:浏览器会先向服务器确认资源的有效性后才决定是从缓存中取资源还是重新获取资源 协商缓存运作原理 现在有一个这样的业务情景:后端的静态资源会不定时地发生更新,而因为浏览器默认使用强缓存,会默认从浏览器缓存中取到过时的资源. 现在我们希望浏览器每次获取资源的时候都向后

  • pm2与Verdaccio搭建私有npm库过程详解

    目录 前言 一般私有化的npm仓库有以下几种方法实现: 下面对各个方案进行一个粗浅的对比: 为什么选用Verdaccio? 安装 修改配置 配置文件 权限把控 部署 docker部署 pm2部署 管理npm仓库源 npm包发布 注册 登录 发布 删除 前言 最近开会的时候讨论到前端组件库搭建,因为需要多人协作,使用npm link等都比较麻烦,且当业务规模较大了之后,我们一般会有自己的脚手架,自己的全局工具包等等.其中可能包含了自身的业务代码不能公开,因此我们都需要一个私有化的npm仓库. 一般

  • 使用vue cli4.x搭建vue项目的过程详解

    cli-4.x已经发布好久了,斟酌了好久,还是决定将原来的cli-2.x升级到4.x,详细的升级过程可以戳这里 1.创建项目 vue create vuetest 2.选择配置方式 ? Please pick a preset: (Use arrow keys) ☜(使用箭头键) > default (babel, eslint) ☜(使用默认的配置,会安装babel和eslint) Manually select features ☜(手动配置) 这里我选择的是手动配置(使用↑ ↓箭头切换,E

  • Java 用Prometheus搭建实时监控系统过程详解

    上帝之火 本系列讲述的是开源实时监控告警解决方案Prometheus,这个单词很牛逼.每次我都能联想到带来上帝之火的希腊之神,普罗米修斯.而这个开源的logo也是火,个人挺喜欢这个logo的设计. 本系列着重介绍Prometheus以及如何用它和其周边的生态来搭建一套属于自己的实时监控告警平台. 本系列受众对象为初次接触Prometheus的用户,大神勿喷,偏重于操作和实战,但是重要的概念也会精炼出提及下.系列主要分为以下几块 Prometheus各个概念介绍和搭建,如何抓取数据(本次分享内容)

随机推荐