这是目录里随便放的几个文件,可以看到实现成功。
这里踩过几个坑,下面提示下: 1、root路径配置问题
刚开始配置的 alias D:\download,报错:2020/08/14 10:36:06 [emerg] 26396#16140: invalid number of arguments in "alias" directive in D:\Program File\nginx\nginx-1.13.12/conf/nginx.conf:74
那么查配置 74 行,发现少了分号,加上问题依旧。换成 root D:\download;,报错:2020/08/14 10:44:20 [emerg] 21376#17156: invalid number of arguments in "root" directive in D:\Program File\nginx\nginx-1.13.12/conf/nginx.conf:74
问题依旧,后来发现路径有问题,写错了,应该是
root D:/download;
// 或者
root D:\\download;
原因都懂,就是 \ 只是个转义字符,要么用 \\,要么就用 / 2、root与alias差别
ok,这样配置可以了。但是当我输入:http://localhost/download/,报错404,我的D盘目录下为D:/download/*,然后其他文件
刚开始报错:2020/08/14 11:02:49 [error] 9928#12876: *11 CreateFile() "D:\download\/download" failed (2: The system cannot find the file specified), client: 127.0.0.1, server: , request: "GET /download HTTP/1.1", host: "localhost"
看到这个路径D:\download\/download这里有问题,所以我把配置rootD:/download/;,后面的 / 去掉了,再试,还是报错:2020/08/14 11:04:15 [error] 3128#11636: *1 CreateFile() "D:\download/download" failed (2: The system cannot find the file specified), client: 127.0.0.1, server: , request: "GET /download HTTP/1.1", host: "localhost"
所以考虑到不是路径的问题,那么问题原因在哪?在于 root 与 alias 配置的区别。