前言
前两天在搞项目的时候,遇到了一个有意思的nginx的配置问题。准确来说,也并非是bug。
环境
window系统,nginx1.15。 没有测试linux环境,有兴趣可以测试。
配置文件原内容
这是windows系统常见的配置,初看是没有问题的。nginx -t
也没有问题。
但是,启动nginx,访问项目的时候就会报错。
配置文件正常内容
仔细观察,root
指令路径变成了双斜杠。nginx在解析路径的时候应该是按字符串解析,所以\t
会被当成制表符,解析后路径就变成"C:\Program Files est"
。因此找不到项目跟根目录。
还记得之前学习,Windows系统路径最好使用使用双斜杠,因为windows系统路径分隔符默认是\
,非常容易被误认为是转义字符,所以使用双\\
来分割路径。
windows系统在表示路径是最好使用 \\
来分割路径, \
容易被当成转义字符解析。