美文网首页
nginx2-路由

nginx2-路由

作者: 指尖架构141319 | 来源:发表于2019-11-04 17:55 被阅读0次

    1.nginx管理虚拟主机

    • 基于域名虚拟主机配置
    server {
    #监听端口 80
    listen 80;
    #监听域名 abc.com;
    server_name abc.com;
    location / {
    # 相对路径,相对nginx根目录。也可写成绝对路径
    root abc;
    # 默认跳转到index.html页面
    index index.html;
    }
    }
    
    • 基于端口虚拟主机配置
    server {
    #监听端口 1022
    listen 1022;
    #监听域名 abc.com;
    server_name abc.com;
    location / {
    # 相对路径,相对nginx根目录。也可写成绝对路径
    root abc;
    # 默认跳转到index.html页面
    index index.html;
    }
    }
    
    • 基于ip虚拟主机配置
    server {
    #监听端口 80
    listen 80;
    server_name 192.168.120.129;
    location / {
    # 相对路径,相对nginx根目录。也可写成绝对路径
    root abc;
    # 默认跳转到index.html页面
    index index.html;
    }
    }
    

    2.Location语法规则

    第三方模块 ngx_echo 的功能,请重新配置添加到 nginx 插件中
    nginx版本严格对应echo版本,否则不生效

    2.1 下载第三方模块
    wget https://github.com/openresty/echo-nginx-module/archive/v0.61.tar.gz tar -zxvf v0.61.tar.gz 
    #进入 nginx 源码目录,准备重新配置 nginx
    cd nginx-1.15.8 
    #--add-module 指向模块目录即会安装插件到 nginx 中
    ./configure --add-module=/usr/local/src/echo-nginx-module-0.61
    
    2.2 用法

    语法规则: location [=||*|^~] /uri/ {… }
    首先匹配 =,其次匹配^~,其次是按文件中顺序的正则匹配,最后是交给 /通用匹配。当有匹配成功时候,停止匹配,按当前匹配规则处理请求。

    • = 开头表示精确匹配
    • ^~开头表示uri以某个常规字符串开头,理解为匹配 url路径即可。nginx不对url做编码,因此请求为/static/20%/aa,可以被规则^~ /static/ /aa匹配到(注意是空格)
    • ~ 开头表示区分大小写的正则匹配
    • ~* 开头表示不区分大小写的正则匹配
    • !和!*分别为区分大小写不匹配及不区分大小写不匹配的正则

    相关文章

      网友评论

          本文标题:nginx2-路由

          本文链接:https://www.haomeiwen.com/subject/wyosaqtx.html