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


Posted in Servers onMarch 31, 2021

安装过程略(我是直接用 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搭建图片服务器内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Servers 相关文章推荐
使用Apache的rewrite
Mar 09 Servers
Nginx的rewrite模块详解
Mar 31 Servers
浅谈Nginx 中的两种限流方式
Mar 31 Servers
Nginx域名转发使用场景代码实例
Mar 31 Servers
教你快速开启Apache SkyWalking的自监控
Apr 25 Servers
使用 Apache Superset 可视化 ClickHouse 数据的两种方法
Jul 07 Servers
centos8安装nginx1.9.1的详细过程
Aug 02 Servers
Apache Hudi数据布局黑科技降低一半查询时间
Mar 31 Servers
从零开始在Centos7上部署SpringBoot项目
Apr 07 Servers
Windows Server 2008 修改远程登录端口以及配置防火墙
Apr 28 Servers
CentOS7安装MySQL8的超级详细教程(无坑!)
Jun 10 Servers
ubuntu如何搭建vsftpd服务器
Dec 24 Servers
Nginx代理同域名前后端分离项目的完整步骤
Mar 31 #Servers
Nginx+SpringBoot实现负载均衡的示例
win10安装配置nginx的过程
Filebeat 采集 Nginx 日志的方法
如何利用map实现Nginx允许多个域名跨域
Mar 31 #Servers
Nginx 过滤静态资源文件的访问日志的实现
Mar 31 #Servers
Nginx的反向代理实例详解
You might like
关于mysql字符集设置了character_set_client=binary 在gbk情况下会出现表描述是乱码的情况
2013/01/06 PHP
PHP中auto_prepend_file与auto_append_file用法实例分析
2014/09/22 PHP
详解WordPress开发中wp_title()函数的用法
2016/01/07 PHP
对采用动态原型方式无法展示继承机制得思考
2009/12/04 Javascript
JS获取屏幕,浏览器窗口大小,网页高度宽度(实现代码)
2013/12/17 Javascript
js post提交调用方法
2014/02/12 Javascript
JavaScript中实现继承的三种方式和实例
2015/01/29 Javascript
JS使用oumousemove和oumouseout动态改变图片显示的方法
2015/03/31 Javascript
Javascript中prototype属性实现给内置对象添加新的方法
2015/05/14 Javascript
简单实现兼容各大浏览器的js复制内容到剪切板
2015/09/09 Javascript
利用Vue.js指令实现全选功能
2016/09/08 Javascript
JS实现类似51job上的地区选择效果示例
2016/11/17 Javascript
基于Bootstrap漂亮简洁的CSS3价格表(附源码下载)
2017/02/28 Javascript
Node.js使用gm拼装sprite图片
2017/07/04 Javascript
vue配置多页面的实现方法
2018/05/22 Javascript
Vuex的初探与实战小结
2018/11/26 Javascript
使用Vue实现简单计算器
2020/02/25 Javascript
javascript设计模式 ? 解释器模式原理与用法实例分析
2020/04/17 Javascript
vue 路由meta 设置导航隐藏与显示功能的示例代码
2020/09/04 Javascript
在Python中操作字符串之replace()方法的使用
2015/05/19 Python
Python3控制路由器——使用requests重启极路由.py
2016/05/11 Python
urllib和BeautifulSoup爬取维基百科的词条简单实例
2018/01/17 Python
Python3 集合set入门基础
2020/02/10 Python
IE兼容css3圆角的实现代码
2011/07/21 HTML / CSS
纯CSS3编写的的精美动画进度条(无flash/无图像/无脚本/附源码)
2013/01/07 HTML / CSS
详解canvas在圆弧周围绘制文本的两种写法
2018/05/22 HTML / CSS
瑞士领先的网上超市:LeShop.ch
2018/11/14 全球购物
什么是Deployment descriptors;都有什么类型的部署描述符
2015/07/28 面试题
编程输出如下图形
2013/11/24 面试题
幼儿园评语大全
2014/04/17 职场文书
中秋手机店促销方案
2014/06/16 职场文书
纪念九一八事变演讲稿:牢记历史,捍卫主权
2014/09/14 职场文书
医生学习党的群众路线教育实践活动心得体会
2014/11/03 职场文书
2016年教师反腐倡廉心得体会
2016/01/13 职场文书
2016反腐倡廉警示教育心得体会
2016/01/13 职场文书
辞职信怎么写?你都知道吗?
2019/06/24 职场文书