nginx à propos de la différence entre root et alias

不言
Libérer: 2023-04-02 20:10:02
original
2709 Les gens l'ont consulté

Cet article présente principalement la différence entre root et alias à propos de nginx. Maintenant, je le partage avec tout le monde. Les amis dans le besoin peuvent s'y référer

Conclusion

Configuration. démo :

location xxx {
    root yyy
}
Copier après la connexion

Le navigateur accède à xxx et l'accès réel est yyy/xxx
Le navigateur accède à xxx/abc.html et l'accès réel est yyy/xxx/abc.html
Le serveur accède à xxx/ccc/abc.html, et l'accès réel est yyy/xxx/ccc/abc.html

Conclusion : L'attribut root ajoutera la valeur de root (ici yyy) à l'accès path (location ) Avant

configurez la démo :

locaiton xxx {
    # alias必须以 / 结束,否则无效
    alias yyy/ 
}
Copier après la connexion

Le navigateur accède à xxx, et l'accès réel est yyy
Le navigateur accède à xxx/abc.html, et le réel l'accès est yyy/abc.html
Le navigateur accède à xxx/ccc/abc.html, et l'accès réel est yyy/ccc/abc.html

Conclusion : l'attribut alias remplacera le chemin d'accès par la valeur de l'alias (voici yyy) Partie correspondante (voici xxx)

Exemple

La structure des répertoires de nginx est la suivante :

nginx/
    -html/
        -index.html
    -logs/
        - access.log
    -conf/
        -nginx.conf
Copier après la connexion

1) Ceci configuration, http://localhost:8086/ access.log, vous pouvez voir nginx/logs/access.log, mais ne vous attendez pas à pouvoir accéder aux documents du répertoire html

server {
    listen       8086;
    server_name  localhost;
    location / {
        root   logs;
    }
}
Copier après la connexion

2 ) Avec cette configuration, accédez à http://localhost:8086 /log/access.log, vous pouvez voir nginx/logs/access.log ;
Visitez http://localhost:8086/, vous pouvez voir nginx/html /index.html

server {
    listen       8086;
    server_name  localhost;
    location / {
        root   html;
        index  index.html index.htm;
    }
    # 配置成 location /log/ 或 location /log 都可以
    location /log/ {
        # 不能写成logs, 必须已 / 结束
        alias logs/;
        # 以下配置没用也可以,只是方便你输入 localhost:8086/log/ 后能,看到nginx/logs/目录下的所有文件
        autoindex on;
    }
}
Copier après la connexion

3) Avec cette configuration, visitez http://localhost:8086/logs/access.log et vous pourrez voir nginx/logs/access.log
Visitez http; ://localhost:8086/ et vous pouvez voir nginx/ html/index.html

server {
    listen       8086;
    server_name  localhost;
    # http://localhost:8086/ 访问的是
    # nginx/html/  (然后会自动显示 index.html 或 index.htm,如果存在这两个文件之一)
    # 啰嗦的注释: nginx/html(html是root的值)/(/是location的值)
    location / {
        root   html;
        index  index.html index.htm;
    }
    # http://localhost:8086/logs/ 访问的是
    # nginx/./logs/
    # .是root的值,logs是location的值
    # 请与第4种错误配置进行比较,深入理解root属性
    location /logs/ {
        # 写成./也可以
        root .;
    }
}
Copier après la connexion

4) Mauvaise configuration

server {
    listen       8086;
    server_name  localhost;
    location / {
        root   html;
        index  index.html index.htm;
    }
    # 这样子配置是错的, 请与第三种配置比较一下
    # 关键点:root属性会把root的值加入到最终路径之前
    # 即: http://localhost:8086/logs/access.log访问的是:
    # nginx/logs/logs/access.log
    # 因为: nginx/logs(root的值)/logs(locaition的值)/access.log,
    location /logs/ {
        root /logs/;
    }
}
Copier après la connexion

Extrait : https://www.cnblogs. com/zhang... Ce paragraphe :root est ajoutée au chemin final, de sorte que l'emplacement accédé devient la valeur racine/valeur d'emplacement. Et je ne veux pas ajouter l'URI consulté au chemin. Par conséquent, vous devez utiliser l'attribut alias, qui abandonnera l'URI et accédera directement à l'emplacement spécifié par l'alias

Ce qui précède est l'intégralité du contenu de cet article. J'espère qu'il sera utile à l'apprentissage de chacun. plus de contenu connexe, veuillez faire attention au site Web PHP chinois !

Recommandations associées :

Méthode 2 d'utilisation de XHProf pour analyser les goulots d'étranglement des performances PHP

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal