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的区别

rootalias
地址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; 
}
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值