Openresty 配置访问静态文件,拆分路径

1,127 阅读1分钟
http {
    server {
        listen 8080;
        location / {
           # default_type text/html;
           # content_by_lua '
           #     ngx.say("<p>hello, world</p>")
           # ';
            root   /work/moniter-web/web/redis;
            index  index.html index.htm;
        }

        location /ngx_status {
	    stub_status on;
	    access_log off;
        }
    }
}

这种配置静态文件,直接就是锁死了所有的 / 目录请求,访问这个URL即可,如下:

curl 127.0.0.1:8080/index.html

那么如果,我想要根据前面的路径再拆分一下请求呢? 例如:我有另一个工作目录/work/moniter-web/web/redis,需要访问另一个子路径url(/redis/index.html)命中这个工作目录下的index.html ,那么该怎么配置呢?

http {
    server {
        listen 8080;
        location / {
            default_type text/html;
            content_by_lua '
                ngx.say("<p>hello, world</p>")
            ';
        }

        location /redis {
            #root   /work/moniter-web/web/redis;
            root   /work/moniter-web/web;
            index  index.html index.htm;
        }

        location /ngx_status {
            stub_status on;
            access_log off;
        }
    }
}

可以看到,拆分路径的redis的绝对路径不能写到redis,不然路径就会找不到。

测试请求的URL如下:

curl 127.0.0.1:8080/redis/index.html