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中break与last的区别详析
Mar 31 Servers
nginx 防盗链防爬虫配置详解
Mar 31 Servers
nginx location优先级的深入讲解
Mar 31 Servers
制作能在nginx和IIS中使用的ssl证书
Jun 21 Servers
Dashboard管理Kubernetes集群与API访问配置
Apr 01 Servers
Nginx流量拷贝ngx_http_mirror_module模块使用方法详解
Apr 07 Servers
Nginx+Tomcat负载均衡多实例详解
Apr 11 Servers
使用 Docker Compose 构建复杂的多容器App
Apr 30 Servers
排查Tomcat进程假死的问题
May 06 Servers
windows10 家庭版下FTP服务器搭建教程
Aug 05 Servers
Docker容器harbor私有仓库部署和管理
Aug 05 Servers
教你使用Ubuntu搭建DNS服务器
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
Protoss兵种对照表
2020/03/14 星际争霸
PHP基于yii框架实现生成ICO图标
2015/11/13 PHP
Laravel框架Blade模板简介及模板继承用法分析
2019/12/03 PHP
我遇到的参数传递中 双引号单引号嵌套问题
2010/02/11 Javascript
JavaScript 错误处理与调试经验总结
2010/08/10 Javascript
jQuery Ajax使用 全解析
2010/12/15 Javascript
Jquery命名冲突解决的五种方案分享
2012/03/16 Javascript
js不完美解决click和dblclick事件冲突问题
2012/07/16 Javascript
JS匀速运动演示示例代码
2013/11/26 Javascript
微信内置浏览器私有接口WeixinJSBridge介绍
2015/05/25 Javascript
jQuery+AJAX实现无刷新下拉加载更多
2015/07/03 Javascript
AngularJS实现元素显示和隐藏的几个案例
2015/12/09 Javascript
基于jquery实现的仿优酷图片轮播特效代码
2016/01/13 Javascript
基于JS设计12306登录页面
2016/12/28 Javascript
详解Node.js 命令行程序开发教程
2017/06/07 Javascript
vuex的使用及持久化state的方式详解
2018/01/23 Javascript
nodejs实现一个word文档解析器思路详解
2018/08/14 NodeJs
微信小程序视图控件与bindtap之间的问题的解决
2019/04/08 Javascript
Node.JS在命令行中检查Chrome浏览器是否安装并打开指定网址
2019/05/21 Javascript
探索JavaScript中私有成员的相关知识
2019/06/13 Javascript
[01:06:39]DOTA2上海特级锦标赛主赛事日 - 1 胜者组第一轮#1Liquid VS Alliance第三局
2016/03/02 DOTA
Python实现登录人人网并抓取新鲜事的方法
2015/05/11 Python
python二分法查找算法实现方法【递归与非递归】
2019/12/06 Python
python opencv圆、椭圆与任意多边形的绘制实例详解
2020/02/06 Python
Python利用Pillow(PIL)库实现验证码图片的全过程
2020/10/04 Python
Python爬虫之Selenium警告框(弹窗)处理
2020/12/04 Python
HTML5之HTML元素扩展(下)—增强的Form表单元素值得关注
2013/01/31 HTML / CSS
Coggles美国/加拿大:高级国际时装零售商
2018/10/23 全球购物
会计专业应届生自荐信
2014/06/28 职场文书
廉政教育的心得体会
2014/09/01 职场文书
公司更名通知函
2015/04/24 职场文书
社区环境卫生倡议书
2015/04/29 职场文书
公司业务员管理制度
2015/08/05 职场文书
面试被问select......for update会锁表还是锁行
2021/11/11 MySQL
基于PostgreSQL/openGauss 的分布式数据库解决方案
2021/12/06 PostgreSQL
如何创建一个创建MySQL数据库中的datetime类型
2022/03/21 MySQL