nginx配置静态资源访问

时间:2024-03-07 18:39:12

背景

nginx是一款高性能的服务器,用途很多。除了可以作为后端服务的负载均衡反向代理服务器,还有一个用途就是做静态资源的缓存服务器。

当前项目基本上都是前后端分离,为了加速前端页面的响应速度,可以将前端的相关资源,如html,js,css或者图片放到nginx指定目录下。访问的时候只需要IP加路径就可以实现高效快速的访问。 

正文

一.首先安装好nginx,启动nginx服务且能够正常访问 Welcome to nginx!界面

二.配置静态资源访问核心是配置nginx.conf文件,找到nginx.conf文件

 

三.配置nginx.conf

 3.1.在nginx.conf的http节点中添加配置,参考下方格式:

  

    server {
        listen       8000;
        listen       somename:8080;
        server_name  somename  alias  another.alias;

        location / {
            root   html;
            index  index.html index.htm;
        }
    }

 

 

  3.2 解读server节点各参数含义

    listen:代表nginx要监听的端口

    server_name:代表nginx要监听的域名

    location :nginx拦截路径的匹配规则

    location块:location块里面表示已匹配请求需要进行的操作

    

四.实例

    4.1准备要访问的静态文件

      两个文件夹:folder1 folder2  folder3各放两个文件一个index.html 

 

    4.2创建一个server

    server {
        listen       9999;
        server_name  localhost;

        location /xixi {
            alias   /Users/qingshan/folder1;
            index  index.html;
        }

        location /haha {
            alias   /Users/qingshan/folder2;
            index  index.html;
        }

        location /folder3 {
            root   /Users/qingshan;
            index  index.html;
        }
    }

 

  

 

 

 

 

 

 五.重点

  重点是理解alias与root的区别,root与alias主要区别在于nginx如何解释location后面的uri,这使两者分别以不同的方式将请求映射到服务器文件上。

  alias(别名)是一个目录别名。

    例子:

      location /123/abc/ {

        root /ABC;
      }
      当请求http://qingshan.com/123/abc/logo.png时,会返回 /ABC/123/abc/logo.png文件,即用/ABC 加上 /123/abc。

 

 

  root(根目录)是最上层目录的定义。

例子:

      location /123/abc/ {

        alias /ABC;
      }
      当请求http://qingshan.com/123/abc/logo.png时,会返回 /ABC/logo.png文件,即用/ABC替换 /123/abc。