nginx 配置文件
server { listen 80 default_server; server_name www.example.com; location / { root /usr/share/nginx/html; # alias /usr/share/nginx/html; index index.html index.htm; } }
root和alisa的区别
root指令定义了处理位于根路径(即"/")下的请求时,服务器应该从哪个目录下查找文件或目录。这里的root /usr/share/nginx/html;表示任何对www.example.com的请求都会到/usr/share/nginx/html这个目录下去查找对应的资源。
alias指令与root指令类似,但它会在给定的路径前加上location匹配的URI。这意味着如果你使用alias而不是root,并且location有指定的前缀,那么这个前缀不会被再次添加到请求的URI上。而使用root时,location的前缀会被重复添加两次。
例如:
如果使用root并且有非空的location前缀,比如location /images/,对于一个请求http://www.example.com/images/pic.jpg,Nginx将会尝试从/usr/share/nginx/html/images/images/pic.jpg查找文件,因为/images/这个前缀被加了两次。
但如果使用alias,同样的请求http://www.example.com/images/pic.jpg,Nginx将会正确地从/usr/share/nginx/html/images/pic.jpg查找文件