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 相关文章推荐
Nginx代理同域名前后端分离项目的完整步骤
Mar 31 Servers
教你快速开启Apache SkyWalking的自监控
Apr 25 Servers
nginx的zabbix 5.0安装部署的方法步骤
Jul 16 Servers
iSCSI服务器CHAP双向认证配置
Apr 01 Servers
Windows和Linux上部署Golang并运行程序
Apr 22 Servers
详解如何使用Nginx解决跨域问题
May 06 Servers
Windows Server 修改远程桌面端口的实现
Jun 25 Servers
Docker与K8s关系介绍不会Docker也可以使用K8s
Jun 25 Servers
本地搭建minio文件服务器(使用bat脚本启动)的方法
Jul 15 Servers
Windows server 2003卸载和安装IIS的图文教程
Jul 15 Servers
nginx配置指令之server_name的具体使用
Aug 14 Servers
windows server2012 R2下安装PaddleOCR服务的的详细步骤
Sep 23 Servers
Nginx代理同域名前后端分离项目的完整步骤
Mar 31 #Servers
Nginx+SpringBoot实现负载均衡的示例
win10安装配置nginx的过程
Filebeat 采集 Nginx 日志的方法
如何利用map实现Nginx允许多个域名跨域
Mar 31 #Servers
Nginx 过滤静态资源文件的访问日志的实现
Mar 31 #Servers
Nginx的反向代理实例详解
You might like
PHP与SQL注入攻击[二]
2007/04/17 PHP
php excel类 phpExcel使用方法介绍
2010/08/21 PHP
详解WordPress开发中wp_title()函数的用法
2016/01/07 PHP
PHP多维数组指定多字段排序的示例代码
2018/05/16 PHP
javascript让setInteval里的函数参数中的this指向特定的对象
2010/01/31 Javascript
js获取当前日期代码适用于网页头部
2013/06/27 Javascript
使用百度地图api实现根据地址查询经纬度
2014/12/11 Javascript
javascript 应用小技巧方法汇总
2015/07/05 Javascript
常用javascript表单验证汇总
2020/07/20 Javascript
基于jquery实现表格无刷新分页
2016/01/07 Javascript
JS组件Bootstrap Select2使用方法详解
2020/04/17 Javascript
js编写当天简单日历效果【实现代码】
2016/05/03 Javascript
jquery mobile界面数据刷新的实现方法
2016/05/28 Javascript
js实现四舍五入完全保留两位小数的方法
2016/08/02 Javascript
jQuery插件FusionCharts绘制的2D双柱状图效果示例【附demo源码】
2017/05/13 jQuery
Nodejs 和Session 原理及实战技巧小结
2017/08/25 NodeJs
jQuery实现简单的计时器功能实例分析
2017/08/29 jQuery
vue实现的上传图片到数据库并显示到页面功能示例
2018/03/17 Javascript
Koa 使用小技巧(小结)
2018/10/22 Javascript
JS中实现一个下载进度条及播放进度条的代码
2019/06/10 Javascript
JavaScript生成随机验证码代码实例
2019/09/28 Javascript
[31:01]2014 DOTA2国际邀请赛中国区预选赛5.21 CNB VS Orenda
2014/05/23 DOTA
urllib2自定义opener详解
2014/02/07 Python
python文件操作整理汇总
2014/10/21 Python
详解Python 实现元胞自动机中的生命游戏(Game of life)
2018/01/27 Python
django反向解析和正向解析的方式
2018/06/05 Python
numpy concatenate数组拼接方法示例介绍
2019/05/27 Python
Python适配器模式代码实现解析
2019/08/02 Python
Python统计分析模块statistics用法示例
2019/09/06 Python
python生成并处理uuid的实现方式
2020/03/03 Python
python3.7添加dlib模块的方法
2020/07/01 Python
讲解员培训方案
2014/05/04 职场文书
开工典礼致辞
2015/07/29 职场文书
go mod 安装依赖 unkown revision问题的解决方案
2021/05/06 Golang
Nginx缓存设置案例详解
2021/09/15 Servers
python实现对doc、txt、xls等文档的读写操作
2022/04/02 Python