项目须要在nginx中提供一个配置文件返回接口的信息,因而就添加了location来实现,本觉得很简单的操做,结果访问配置文件时一直返回404,nginx的error log中输出:not a directory。nginx
nginx的配置以下所示:函数
日志中的报错以下:测试
找了半天没发现有啥问题,在另台测试机器上用一样的配置文件配置,发现没有问题,能够访问。因而从nginx代码中的openat关键字排查,定位在openat这个函数上,貌似它不支持软连接,而碰巧root配置的路径中有一个是软连接。日志
自测程序:blog
至此,问题排查清楚,修改root指向一个非软连接的目录便可。接口