0°

Nginx Root 和 Alias 配置区别

Nginx location中可以定义root网站目录及alias也是网站目录参数,两个参数区别如下:

  • root:给定的路径对应于location中的/uri/左侧的/
    例如:客户端请求 http://k8sops.cn/k8sops/ 时,对应服务器的 /usr/local/nginx/html/k8sops/index.html

  • alias:给定的路径对应于location中的/uri/右侧的/
    例如:客户端请求 http://k8sops.cn/devops/ 时,对应服务器的 /usr/local/nginx/html/index.html

案例

1.修改配置

server {
        listen       80;
        server_name k8sops.cn;

        location  /k8sops {
            root html;                  #需要访问 html/k8sops/index.html
            index index.html;
        }

        location  /devops {
            alias html;                 #访问网站根目录 index.html
            index index.html;
        }
}

2.添加网站文件

pwd
/usr/local/nginx/html

cat index.html
<center> <h1>Welcome to Devops Alias!</h1> </center>

cat k8sops/index.html
<center> <h1>Welcome to K8sops Root!</h1> </center>

3.测试访问

curl http://k8sops.cn/k8sops/
<center> <h1>Welcome to K8sops Root!</h1> </center>


curl http://k8sops.cn/devops/
<center> <h1>Welcome to Devops Alias!</h1> </center>

4.总结
root 指定的目录为网站根目录,locaiton 中的路径需要在根目录中存在,当使用root时,nginx会先寻找根目录下location指定的目录,然后是网页文件。
Alias 指定的目录也为网站根目录,location 中的路径不需要在根目录中存在,当使用 alias 时,nginx会直接在根目录下寻找网页文件。







「点点赞赏,手留余香」

    还没有人赞赏,快来当第一个赞赏的人吧!
0 条回复 A 作者 M 管理员
    所有的伟大,都源于一个勇敢的开始!
欢迎您,新朋友,感谢参与互动!欢迎您 {{author}},您在本站有{{commentsCount}}条评论