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

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

启动

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

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

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

页面验证nginx是否启动

浏览器输入ip,返回centos页面,这不对吧?

看下配置文件:
?
1
root /usr/share/nginx/html;

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

准备工作

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

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

?
1
2
3
4
location /images {
root /data;
autoindex on;
}

浏览器输入:

111.222.333.444/data/images/01.png;

出现图片,表示成功了。

使用alias配置

使用alias当然也是可以的:

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

如下写法有问题:

?
1
2
3
4
location /images {
alias /data;
autoindex on;
}

问题在哪?

地址栏输入 /images/01.png 是获取不到的。

因为 /images 会映射到 /data ,

但是实际目录是 /data/images/01.png,

所以少了个images。

错误配置

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

错误配置例1(root)

?
1
2
3
4
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
?
1
2
3
4
5
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关键字):

?
1
2
3
4
5
6
7
8
location / {
root /usr/share/nginx
}
location /download {
gzip_static off;
tcp_nopush off;
root /opt/app/code;
}

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

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

?
1
2
3
4
5
6
7
8
location / {
root /usr/share/nginx
}
location /download {
gzip_static off;
tcp_nopush off;
alias /opt/app/code;
}

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

总结

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

原文链接:https://blog.csdn.net/enthan809882/article/details/109047474

声明: 猿站网有关资源均来自网络搜集与网友提供,任何涉及商业盈利目的的均不得使用,否则产生的一切后果将由您自己承担! 本平台资源仅供个人学习交流、测试使用 所有内容请在下载后24小时内删除,制止非法恶意传播,不对任何下载或转载者造成的危害负任何法律责任!也请大家支持、购置正版! 。本站一律禁止以任何方式发布或转载任何违法的相关信息访客发现请向站长举报,会员发帖仅代表会员个人观点,并不代表本站赞同其观点和对其真实性负责。本网站的资源部分来源于网络,如有侵权烦请发送邮件至:2697268773@qq.com进行处理。
建站知识

小知识:有效学习Linux系统的4个方法

2023-3-29 17:55:58

建站知识

小知识:把数据库部署在docker容器内有哪些缺陷

2023-3-29 18:01:15

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索