nginx root 和alias的区别 以及引起的问题

重点

其中修改nginx的时候,增加加server的时候,(例如在配置nginx支持https协议的时候)一定要使用
/usr/local/nginx/sbin/nginx -s stop命令停止nginx 
使用 /usr/local/nginx/sbin/nginx 命令启动nginx 否则配置的sever可能会不生效。

以下是alias和root引起的报错

nginx报错页面404找不到
nginx root 和alias的区别 以及引起的问题_第1张图片
nginx root 和alias的区别 以及引起的问题_第2张图片
从报错日志来看
nginx root 和alias的区别 以及引起的问题_第3张图片

报错代码
**这个local代表的是server里边的一个location**
 location /admin/ {
           alias  /home/server/vue_admin/dist/;
           index  index.html index.htm;
            }
修改后
 location /admin{
           alias  /home/server/vue_admin/dist/;
           index  index.html index.htm;
            }
            

root 和alias都是定义在location的模块中,都是用来指定请求的真实路径,
比如
当是alias的时候

   location /admin{
           alias  /home/server/vue_admin/dist/;
           index  index.html index.htm;
            }
   同时访问localhost:8080/admin 的时候配置alias的时候访问的是/home/server/vue_admin/dist/下的index.html.
   也就是说不管 location 的值怎么指定,只要 alias 设置的 /home/server/vue_admin/dist/,就会在 /home/server/vue_admin/dist/ 目录找,意思就是说会把localtion后面的路径/admin给省略掉
   

当是root的时候

 location /admin{
           root  /home/server/vue_admin/dist/;
           index  index.html index.htm;
            }
      当访问localhost:8080的时候,配置root的时,访问的是
      /home/server/vue_admin/dist/admin路径下的index.html
      会把请求的路径也带上

你可能感兴趣的:(nginx,运维)