nginx 指定路径访问静态页面?

我想让我的 http://119.28.133.206/git 打开我对应文件夹里面的index.html

我现在通过这样

server {
    listen       80;        #端口
    server_name  localhost;   #服务名
    index  index.html;
    charset utf-8; # 避免中文乱码
    root /data/learnGitBranching;
}

实现了http://119.28.133.206/ 有我需要的展示的界面。
但是我想通过这样配置

server {
    listen       80;        #端口
    server_name  localhost;   #服务名
    charset utf-8; # 避免中文乱码

    
      location /git {
        index  index.html;
        root /data/learnGitBranching;
        autoindex on;             #开启索引功能
    }
}

访问http://119.28.133.206/git 显示404 然后发现

2018/08/20 17:02:56 [error] 7026#7026: *1 open() "/data/learnGitBranching/git" failed (2: No such file or directory), client: 122.224.133.218, server: localhost, request: "GET /git HTTP/1.1", host: "119.28.133.206"

所以我就把访问改成http://119.28.133.206/index.html
这下就显示了nginx 的欢迎界面,我看了log

#access.log
122.224.133.218 - - [20/Aug/2018:17:03:27 +0800] "GET /index.html HTTP/1.1" 200 396 "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/68.0.3440.106 Safari/537.36"

然后我就改成这样子

    location /git {
      #  index  index.html;
        alias /data/learnGitBranching/index.html;
        autoindex on;             #开启索引功能
    }

这下好了,访问url/git 直接把我的html 下载下来了。

我还尝试把alias 改成path 但是不能启动nginx 请问下正确的方式应该是怎么样?

我想请问下,有没有nginx 的入门资料,可以让我理解 各种location , path ,root ,alias 等组合完成的配置对应的url

阅读 23.4k
1 个回答
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题