代码之家  ›  专栏  ›  技术社区  ›  YakovL Naresh Kumar Nakka

nginx:如何对多个位置使用多个根,包括/?(我的路径配置有什么问题?)

  •  0
  • YakovL Naresh Kumar Nakka  · 技术社区  · 4 年前

    我正在尝试将nginx设置为首次测试使用,但还没有域。

    http://<server IP> 并提供一些静态内容 http://<server IP>/projectname /var/www/html/index.nginx-debian.html

    在里面 /etc/nginx/sites-available/ 我创建了一个 projectname 配置,并且我已经启用了一个指向站点的链接:

    sudo ln -s /etc/nginx/sites-available/tiddlywiki /etc/nginx/sites-enabled/
    

    配置的第一个版本是

    server {
        listen 80;
        listen [::]:80;
    
        server_name <server IP>;
    
        root /some/path/to/project/static-files;
        index index.html;
    
        location /projectname {
               try_files $uri $uri/ =404;
        }
    }
    

    http://<服务器IP> 开始提供静态文件,但 显示404。 我该如何解决这个问题? 因为下一步,我遵循了 this answer 并尝试设置两个位置:

        location /projectname {
            try_files $uri $uri/ =404;
        }
        location / {
            root /var/www/html;
            index index.nginx-debian.html;
        }
    

    http://<服务器IP> 再次返回,404在 .

    0 回复  |  直到 4 年前
        1
  •  0
  •   YakovL Naresh Kumar Nakka    4 年前

    好的,问题是 root 指令,路径为 连接的

    server {
        listen 80;
        listen [::]:80;
    
        server_name <server IP>;
    
        root /some/path/to/project/static-files;
        index index.html;
    
        location /projectname {
            try_files $uri $uri/ =404;
        }
        location / {
            root /var/www/html;
            index index.nginx-debian.html;
        }
    }
    

    nginx试图发球 /projectname /some/path/to/project/static-files/projectname /some/path/to/project/static-files ). 我需要的是 alias 指令:

    server {
        listen 80;
        listen [::]:80;
    
        server_name <server IP>;
    
        index index.html;
    
        location /projectname {
            alias /some/path/to/project/static-files;
            index index.html;
        }
        location / {
            root /var/www/html;
            index index.nginx-debian.html;
        }
    }
    

    try_files 工作,所以我现在删除了它,还添加了 index 指令。