前后端分离的模式下, 通常前端项目是部署到Nginx上. 前端项目部署的核心就是配置 nginx.conf 配置文件.

以下采用 root 和 alias 两种配置方式来配置.

首先上传一个测试前端项目, 一个demo1 的文件夹, 里面包含 一个index.html页面

文件的真实路径是 /opt/front/demo1/index.html

打开编辑nginx.conf 文件

vim  /home/kern/nginx/conf/nginx.conf

1. 使用 root 配置

  server {
    listen  8003;
    location  /demo1/ {
       root    /opt/front;
       #index  index.html;
    }
  }

浏览器地址栏输入 http://xxx:8003/demo1 或者 http://xxx:8003/demo1/index.html 均可访问

2. 使用 alias 配置

server {
     listen 8004;
     location /demo1/ {
       alias   /opt/front/demo1/;
       #index   index.html;
     }
  }

同样的, 浏览器地址栏输入  http://xxx:8004/demo1 或者 http://xxx:8004/demo1/index.html 均可访问.

 root 和 alias 的区别

首先确定 root和alias都可以定义在location模块中,都是用来指定请求资源的真实路径

使用 root 时, 服务器里真实的资源路径是 root 的路径拼接上 location 指定的路径.

比如请求 http://xxx:8003/demo1/index.html, 真实的资源路径就是

/opt/front/demo1/index.html

使用alias顾名思义是代指 location 的别名, 不论location 是什么, 资源的真实路径都是alias所指定的. 所以location是匹配浏览器输入的地址, 真实访问的路径就是alias 指定的路径.

其它区别

1. alias 只能配置在location 中, 而root 可以配置在 server, http 和 location 中

2. alias 后面必须要以 "/" 结尾, 否则会查找不到文件, 报404错误; 而 root 对 "/" 可有可无.

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐