zoukankan      html  css  js  c++  java
  • nginx之别名、location使用

    alias

    server {
       listen 80;
       server_name www.xxxpc.net ~^www.sited+.net$;
       error_page   500 502 503 504 404 /50x.html;
       location /about {
           alias /data/nginx/pc/html;
           index index.html;
       }
       location  /host.pass {
           deny  all;
       }
    }
    当访问www.xxxpc.net/about的时候,会直接跳转访问/data/nginx/pc/html/index.html这个资源
    

    location的详细使用

    uri:资源定位;当访问http://www.xxxpc.net/about/index.html时,uri为/about/index.html
    url:url是包含协议的;http://www.xxxpc.net/about/index.html这整个就是一个url
    
    =   #用于标准uri前,需要请求字串与uri精确匹配,如果匹配成功就停止向下匹配并立即处理请求。
    ~   #用于标准uri前,表示包含正则表达式并且区分大小写
    !~  #用于标准uri前,表示包含正则表达式并且区分大小写不匹配
    ~*  #用于标准uri前,表示包含正则表达式并且不区分大写
    !~* #用于标准uri前,表示包含正则表达式并且不区分大小写不匹配
    ^~  #用于标准uri前,表示包含正则表达式并且匹配以什么开头
    $   #用于标准uri前,表示包含正则表达式并且匹配以什么结尾
       #用于标准uri前,表示包含正则表达式并且转义字符。可以转. * ?等
    *   #用于标准uri前,表示包含正则表达式并且代表任意长度的任意字符
    

    "=" 精确匹配的应用

    server {
       listen 80;
       server_name www.xxxpc.net ~^www.sited+.net$;
       location = / {
           root /data/nginx/pc/html;
           index index.html;
       }
    }
    一般都在根下做一个完全匹配,如果匹配的是根就不向下搜索了
    

    "~" 匹配区分大小写的应用

    location ~ /A.?.jpg{
           root /data/nginx/pc/images;
           index index.html;
       }
    区分大小写,前面A必须是大写A,后面的.?匹配单个字符可以是随机,后面的jpg必须是小写的jpg
    

    "~*" 匹配不区分大小写的应用

    location ~* /A.?.jpg{
           root /data/nginx/pc/images;
           index index.html;
       }
    不区分大小写,前面的A可以是大写也可以是小写,后面的jpg可以是小写也可以是大写
    

    文件名后缀匹配应用

    location ~* .(gif|jpg|jpeg|bmp|png|tiff|tif|ico|wmf|js)$ {
           root /data/nginx/pc/images;
           index index.html;
       }
    不区分大小写,并且访问上面指定的后缀名的资源都到指定的根路径中去寻找
    

    匹配的优先级

    location优先级:(location =) > (location 完整路径) > (location ^~ 路径) > (location ~,~* 正则顺序) > (location 部分起始路径) > (/)
    其中location完整路径指的是:
    location /images {
       root /data/nginx/pc;   #在/data/nginx/pc下有images目录,则就是完整路径
       idnex index.html;
       }
    

    实现访问控制

       location /images {
           root /data/nginx/pc;
           index index.html;
           allow 192.168.38.1;
           deny 192.168.38.0/24(deny all;);
       }
    执行顺序是从上往下,先执行allow允许一部分人访问指定资源,然后deny拒绝一些人访问
    

    Nginx账户认证功能

    [root@app conf.d]# yum install httpd-tools -y    #安装工具,生成认证文件
    [root@app conf.d]# htpasswd -bc /apps/nginx/conf/.htpasswd user1 123456   #-b是使用命令行的密码,不适用默认;-c创建文件;默认是md5加密
    [root@app conf.d]# htpasswd -b /apps/nginx/conf/.htpasswd user2 123456   #第二次不需要加-c,如果第二次添加-c,则会把生成的文件覆盖
    
       location /login {
           root /data/nginx/pc/html;
           index index.html;
           auth_basic "input password";     #提示信息
           auth_basic_user_file /apps/nginx/conf/.htpasswd;   #指定账户认证文件的路径
       }
    经过账户认证登录后,才可以看到/data/nginx/pc/html/login/下面的默认站点主页面;一般用于内部人员调试或者查询时使用
    

    自定义错误页面

    server {
       listen 80;
       server_name www.xxxpc.net ~^www.sited+.net$;
       error_page   500 502 503 504 404 /error.html;    #当Nginx捕获到这些状态码时,会调用error.html所定义的错误页面
       location = /error.html {        #定义错误页面的指定位置
           root /data/nginx/pc/html;
       }
    }
    可以每个域名定义一个错误页面
    

    自定义访问日志和错误日志

    server {
       listen 80;
       server_name www.xxxpc.net ~^www.sited+.net$;
       access_log /var/log/nginx/www.xxxpc.net-access.log main;    #指定生成日志的路径和访问日志名字,并且指定访问日志的格式
       error_log /var/log/nginx/www.xxxpc.net-error.log;   #指定错误日志的日志名和路径
       location /login {
           root /data/nginx/pc/html;
           index index.html;
           access_log /var/log/nginx/www.xxxpc.net-login_access.log main;
           error_log /var/log/nginx/www.xxxpc.net-login_error.log;      #自定义访问日志和错误日志可以设置到某个location中
       }
    }
    每个域名可以单独定义访问和错误日志;server中有自定义的日志,则以server为准;如果server中没有,则以http中的日志格式为准
  • 相关阅读:
    Android UI开发第二十四篇——Action Bar
    Android ActionBar使用方法
    Eclipse快捷键 10个最有用的快捷键
    android 布局文件中控件ID、name标签属性的命名包含“@”、“.”、“+”等等符号的含义
    tools:context=".MainActivity的作用
    Android 抽屉效果的导航菜单实现
    Dump 文件生成与分析
    WinDbg-如何抓取dump文件
    HTML最全标签
    css文字飞入效果
  • 原文地址:https://www.cnblogs.com/dongzhanyi123/p/12046003.html
Copyright © 2011-2022 走看看