账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    nginx中是设置虚拟目录为什么不生效?
    49
    0

    nginx版本:1.12.1
    nginx虚拟主机配置如下:

    server{
        listen 80;
        server_name abc.local;
        index index.html index.htm index.php;
        root  /opt/tool/web;
        location = /favicon.ico {
            log_not_found off;
            access_log off;
        }
        location /test {            
            alias /opt/tool/web/cdn/;
        }
        location = /robots.txt {
            allow all;
            log_not_found off;
             access_log off;
        }
        include enable-php.conf;
        location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$ {
              expires      30d;
        }
    
        location ~ .*\.(js|css)?$ {
              expires      12h;
        }
    
        access_log off;
    }

    此配置文件在servers目录下
    nginx.conf 通过

    include servers/*;

    引入。
    访问. http://abc.local/test/1.jpg
    出现404
    查看nginx错误日志

    [error] 36523#0: *63 open() "/opt/tool/web/test/1.jpg" failed (2: No such file or directory), client: 127.0.0.1, server: abc.local, request: "GET /test/1.jpg HTTP/1.1", host: "abc.local"

    我在test这个虚拟目录中设置是的
    /opt/tool/web/cdn/
    为什么不生效,他还要去访问root /opt/tool/web 这个目录?

    0
    打赏
    收藏
    点击回答
        全部回答
    • 0
    • 淺唱ベ離别曲√ 普通会员 1楼

      在Nginx中设置虚拟目录可能不生效,可能有以下几个原因:

      1. 网络问题:首先,你需要确保Nginx的配置文件(通常是/etc/nginx/nginx.conf或/etc/nginx/sites-available/default)已经正确地配置并被加载。如果你的网络有问题,例如网络延迟或者网络中断,可能会导致虚拟目录设置不生效。

      2. 用户权限问题:在创建虚拟目录时,需要指定相应的用户和组来访问。如果这些用户和组没有访问虚拟目录的权限,那么虚拟目录设置可能不会生效。

      3. Nginx模块问题:有些Nginx模块可能与虚拟目录的设置有关。例如,如果有某个模块需要在虚拟目录下运行,那么这些模块可能不会被Nginx自动地应用到虚拟目录上。

      4. 虚拟目录的路径问题:如果你的虚拟目录的路径设置不正确,那么Nginx可能无法找到这个虚拟目录,从而导致设置不生效。

      解决这些问题的步骤可能包括:

      1. 检查网络设置:确保你的网络连接正常,并且没有网络延迟或中断。

      2. 检查用户权限:使用sudo等命令来确保你有访问虚拟目录的权限。

      3. 检查Nginx模块:查看Nginx的错误日志,看看是否有关于虚拟目录的错误。如果有,尝试修复这些错误。

      4. 检查虚拟目录的路径:确保你的虚拟目录路径设置正确。你可以使用浏览器或者其他工具来查看虚拟目录的路径。

    更多回答
    扫一扫访问手机版
    • 回到顶部
    • 回到顶部