目录

  • 前言
  • alias 语法
  • 示例
  • 配合 location 的正则表达式使用
  • alias 与 root 的区别
  • 错误
    • 403错误
    • [error] 21168#21168: *6855 open() "/xxx/xxx/" failed (13: Permission denied)

前言

  • nginx version: nginx/1.18.0
  • CentOS Linux release 7.6.1810 (Core)

alias 语法

alias 的官方说明: http://nginx.org/en/docs/http/ngx_http_core_module.html#alias

Syntax:  alias path;
Default:    —
Context:    location

The path value can contain variables, except $document_root and $realpath_root.

示例

location /i/ {alias /data/w3/images/;
}
  • 当请求为“/i/top.gif”时, 返回文件“/data/w3/images/top.gif”

配合 location 的正则表达式使用

location ~ ^/users/(.+\.(?:gif|jpe?g|png))$ {alias /data/w3/images/$1;
}
  • 当请求为“/user/head.png”时, 返回文件“/data/w3/images/head.png”
  • 当请求为“/user/2021/04/18/d3n4iik9.png”时, 返回文件“/data/w3/images/2021/04/18/d3n4iik9.png”

alias 与 root 的区别

location /images/ {alias /data/w3/images/;
}
location /images/ {root /data/w3;
}
  • 上面两个配置是等效的。
  • 当请求为“/images/head.png”时,且使用 alias 的情况下,返回文件 “/data/w3/images/head.png” (alias path + head.png)。
  • 当请求为“/images/head.png”时,且使用 root 的情况下,返回文件 “/data/w3/images/head.png” (alias path + /images/head.png)。
  • location/images/ ,且 root 目录下包含 images 时,nginx 推荐使用root(上面的例子,nginx推荐使用root)。反之,当 location/images/ ,且 root 目录下未包含 images 时,此时使用root将不能正常工作,需要使用 alias。

错误

403错误

这样写是403错误:

    location ~ ^/tt/ {alias  /data/test/;index  index.html index.htm;}

这样写正确:

    location ~ ^/tt/(.*)$ {alias  /data/test/$1;index  index.html index.htm;}

[error] 21168#21168: *6855 open() “/xxx/xxx/” failed (13: Permission denied)

  • 文件所在目录必须具备rw权限
  • 文件必须具备r权限

    upload是目录,1.jpg和1.txt是文件。

参考这里:https://blog.csdn.net/u010999809/article/details/100084838

nginx alias相关推荐

  1. nginx alias php,Nginx Alias 无法解析PHP的解决办法

    Nginx Alias 无法解析PHP的解决办法: server { listen       80; server_name  xxxx.com.cn; error_log  /tmp/eror.l ...

  2. nginx alias php,Nginx设置alias实现虚拟目录 alias与root的用法区别

    Nginx貌似没有虚拟目录的说法,因为它本来就是完完全全根据目录来设计并工作的.如果非要给nginx安上一个虚拟目录的说法,那就只有alias标签比较"像",干脆来说说alias标 ...

  3. nginx alias正则表达式

    location ~ /mytest/(.*) {                 alias /usr/local/nginx/html/$1; }

  4. nginx alias php 404,Nginx配置静态服务器以及404问题解决,root和alias的区别

    最近在使用Nginx配置一个图片静态服务器来通过http请求访问图片,在配置的时候,发现遇到访问有404的问题,结果发现是在配置路径的时候,和路径属性是root还是alias的有关. nginx配置文 ...

  5. nginx程序访问linux任意目录,通过nginx访问linux目录

    http { ...... autoindex on; autoindex_exact_size off; autoindex_localtime on; server { listen 80; .. ...

  6. nginx 常用优化

    Nginx Quick Reference My notes about Nginx... <img src="https://img.shields.io/badge/Branch- ...

  7. (四)Linux环境部署(Centos+Nginx+Tomcat+Mysql) - 安装Tomcat和JDK 以及 Nginx与Tomcat整合

    因为在网上发现系统性.严谨(特别是在安全方面)的Linux部署方面的参考文章很少,于是整理以下六篇Linux环境部署的系列性文章,其为本人在实践中,完整的搭建一个基于Linux系统上Centos+Ng ...

  8. 配置Linux+Nginx+php环境搭建

    1.安装pcre.pcre是一个perl库,Nginx的HTTP模块使用pcre来解析正则表达式. 2.安装zlib.zlib是一个文件压缩和解压缩的库,Nginx使用zlib对HTTP数据包进行gz ...

  9. macports 2.3.1 安装mysql 报错_使用MacPorts配置PHP开发环境(PHP54+PHP FPM+NGINX+MYSQL55)...

    在MAC系统下进行PHP开发,最简单的方法是到http://www.apachefriends.org/en/xampp-macosx.html下载个文件,装上就可直接进行开发了,好处很明显,简单易用 ...

最新文章

  1. 林轩田机器学习基石课程学习笔记1 -- The Learning Problem
  2. IDC评述网:2012年11月全国IDC品牌排行榜
  3. android 中使用TabHost控件实现微信界面的底部菜单效果
  4. mysql 查询某字段值全是数字
  5. 【Groovy】自定义 Xml 生成器 BuilderSupport ( setParent 方法中设置父节点与子节点关系 )
  6. 【ECSHOP】格式化商品价格
  7. Java里的 for (;;) 与 while (true),哪个更快?
  8. 我们为什么需要 SpringBoot?
  9. js中加“var”和不加“var”的区别,看完觉得这么多年js白学了
  10. nvm use切换node版本,但是切换后没有*号
  11. Mysql学习笔记(一)数据类型
  12. 【Node】—系统模块
  13. VC/MFC程序开启关闭和打开自己或其他软件,更改窗口类
  14. 一个数组去重的简单实现
  15. 【vscode】vscode + vue项目实战记录
  16. Hdu 1303 Doubles
  17. sakai mysql_开源网络教学平台SAKAI开发环境的搭建 | 学步园
  18. 几款免费且实用的项目管理工具
  19. 大写1234(大写123456汉字)
  20. np.arange()函数

热门文章

  1. linux增加swap分区大小
  2. Shadow Brokers扬言兜售新漏洞攻击工具
  3. 《Unity 3D 游戏开发技术详解与典型案例》——1.3节第一个Unity 3D程序
  4. 2015_6_16-开博第一天
  5. 本博客弃用,请移步http://ningios.com查看最新
  6. (转)解决在firefox下js调用as失败问题
  7. SQL Server 行转列,列转行。多行转成一列
  8. ASP.NET MVC 获取当前访问域名
  9. 详细学习ORACLE JOBS
  10. java 三种将list转换为map的方法详解