zoukankan      html  css  js  c++  java
  • [转]nginx虚拟目录(alias与root的区别)

    今天配置awstats,awstats创建出的文件目录在/home/awstats下,在nginx中加入配置后狂报404,发现还是忽略了root和alias的区别,特将修改配置记录如下:
    1.失败:server {
            server_name  test.com;
            charset utf-8,GB2312;
            index  index.html;
     
            location / {
            root html;
            access_log logs/access.log main;
             }

            location ~ ^/awstats/ {
            root  /home/awstats/;
            index  index.html;
            access_log off;
            error_log off;
            charset gb2312;
            }
     
    2.失败: server {
            server_name  test.com;
            charset utf-8,GB2312;
            index  index.html;
     
            location / {
            root html;
            access_log logs/access.log main;
             }

            location ~ ^/awstats/ {
            alias  /home/;
            index  index.html;
            access_log off;
            error_log off;
            charset gb2312;
            }
     
     
    3.成功: server {
            server_name  test.com;
            charset utf-8,GB2312;
            index  index.html;
     
            location / {
            root html;
            access_log logs/access.log main;
             }

            location ~ ^/awstats/ {
            alias  /home/awstats/;
            index  index.html;
            access_log off;
            error_log off;
            charset gb2312;
            }
     
    4.成功: server {
            server_name  test.com;
            charset utf-8,GB2312;
            index  index.html;
     
            location / {
            root html;
            access_log logs/access.log main;
             }

            location ~ ^/awstats/ {
            root  /home/;
            index  index.html;
            access_log off;
            error_log off;
            charset gb2312;
            }
     
    从以上例子很明显看出,还是对root和alias的概念搞混了~
    1.      location ~ ^/awstats/ {
            root  /home/awstats/;
    访问:
    http://test.com/awstats/ 实际访问的是/home/awstats/awstats/
     
    2.      location ~ ^/awstats/ {
            alias  /home/
    访问:http://test.com/awstats/ 实际访问的是/home/
     
    3.      location ~ ^/awstats/ {                        #使用alias时目录名后面一定要加“/”
            alias  /home/awstats/;
    访问:http://test.com/awstats/ 实际访问的是/home/awstats/
     
    4.      location ~ ^/awstats/ {
            root  /home/;

    访问:http://test.com/awstats/ 实际访问的是/home/awstats/
    借用ayou老师的一句话:
    一般情况下,在location /中配置root,在location /other中配置alias是一个好习惯

  • 相关阅读:
    Mac下java环境jdk、maven环境安装
    Pandas基本操作
    python-numpy入门
    深度学习-Pytorch基础
    深度学习-手写数字识别代码
    机器学习-梯度下降算法案例
    机器学习-EM算法
    机器学习-特征选择
    机器学习-聚类
    机器学习-朴素贝叶斯
  • 原文地址:https://www.cnblogs.com/liugx/p/7719953.html
Copyright © 2011-2022 走看看