nginx搭建图片服务器的过程详解 root和alias的区别
发布时间:2021-11-15 10:24 所属栏目:13 来源:互联网
导读:安装过程略(我是直接用 yum -y install nginx; 安装的)。 启动 启动(重启)nginx,以下2个命令都可以: systemctl restart nginx; # 注:这里的nginx不是目录,是cd不进去的 /usr/sbin/nginx -s reload; 一般不报错就是启动成功。 页面验证nginx是否启动 浏览
安装过程略(我是直接用 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/这个目录找。 总结 (编辑:ASP站长网) |
相关内容
网友评论
推荐文章
热点阅读