KittyDaddy's blog KittyDaddy's blog
首页
  • 学习笔记

    • 《Java基础》
    • 《常用设计模式》
    • 《MYSQL》
    • 《GO语言》
    • 《Spring源码解读》
  • 微服务解决方案

    • 锁的演化
    • 简单限流方案
    • 海量数据切分
  • 中间件

    • Nginx
    • MQ
    • Redis
    • Keepalived
  • 面试记
  • 杂文
  • 开源
  • 友情链接
关于
收藏
  • 分类
  • 标签
  • 归档
GitHub (opens new window)

老猫

万物皆系统
首页
  • 学习笔记

    • 《Java基础》
    • 《常用设计模式》
    • 《MYSQL》
    • 《GO语言》
    • 《Spring源码解读》
  • 微服务解决方案

    • 锁的演化
    • 简单限流方案
    • 海量数据切分
  • 中间件

    • Nginx
    • MQ
    • Redis
    • Keepalived
  • 面试记
  • 杂文
  • 开源
  • 友情链接
关于
收藏
  • 分类
  • 标签
  • 归档
GitHub (opens new window)
  • Nginx安装教程
  • Nginx系列-负载均衡(开篇)
  • Nginx系列-负载均衡(Nginx配置介绍)
  • Nginx系列-缓存控制
  • Nginx系列-配置介绍
  • Nginx系列-基础概念
  • Nginx系列-基础静态文件配置
    • Nginx系列-跨域和防盗链配置
    • Nginx系列-日志切割
    • 《Nginx》
    老猫
    2020-07-01
    目录

    Nginx系列-基础静态文件配置

    之前介绍完相关的基本配置项目之后,我们现在就手动去配置一下最基本的静态访问页面。

    # server配置文件的抽离

    首先看一下老猫的相关nginx.cnf的配置文件 ​配置文件

    从图上我们很清楚地看到老猫将原来的http中的server配置进行注释掉了,取而代之的是一种inlude的写法,其实include就是引入外部配置文件,这个我觉得不用解释,有开发基础的都能理解。 配置文件的抽离配置:

    include       kd_server.conf;#表示引入外部配置
    
    1

    抽离文件kd_server.conf的配置信息如下:

    server {
            listen       88;
            server_name  localhost;
            location / {
                root   html;
                index  kd.html index.htm;
            }
     }
    
    1
    2
    3
    4
    5
    6
    7
    8

    # 配置静态资源文件

    下面老猫 进行配置一下相关的静态文件资源,包括项目的名称。具体配置信息如下:

    server {
            listen       88;
            server_name  localhost;
            #配置组装一张图片
            location / {
                root   /home/kd;
            }
     }
    
    1
    2
    3
    4
    5
    6
    7
    8

    因为之前老猫已经将部分的静态资源文件已经上传到了服务器,所以此时我们这样访问:http://xxx.xxx.128.226:88/kd_jp.jpg,就能够访问到/home/kd路径下的资源文件,这类资源文件包括jpg文件,txt文件甚至音频以及视频文件均可访问。当然我们还有另外一种路径的配置方式,如下:

    server {
            listen       88;
            server_name  localhost;
            #配置组装一张图片
            location /kd {
                 root /home;
            }
     }
    
    1
    2
    3
    4
    5
    6
    7
    8

    这样配置的话,我们的请求路径上面就带上了/kd的路径,这样配置要注意的是,当访问的时候localtion后面的/kd会自动拼装到/home的后面组成全路径。如此,我们就可以访问到相关的文件,访问方式:http://xxx.xxx.128.226:88/kd/kd_jp.jpg

    以上两种方式多多稍稍暴露了文件的实际路径名称。所以我们还有一种别名的配置方式,这种方式可以隐藏我们的实际路径名称,“alias” 可以为你的路径做一个别名,对用户透明。配置方式如下:

    server {
            listen       88;
            server_name  localhost;
            #配置组装一张图片
            location /img {
               alias /home/kd;
           }
     }
    
    1
    2
    3
    4
    5
    6
    7
    8

    此时,我们虽然访问的是/home/kd的路径,但是我们用/img的别名所取代了,因此,我们直接这样访问相关文件即可:http://xxx.xxx.128.226:88/img/kd_jp.jpg

    对照着上述的配置方法,老猫觉得,如果现在让大家简单部署一个静态资源的项目也是比较简单的。我们可以如下进行配置:

    server {
            listen       88;
            server_name  localhost;
            location / {
                root   /home/kd/kd-shop;
                index  index.html;
            }
     }
    
    1
    2
    3
    4
    5
    6
    7
    8

    配置完毕之后我们只要直接访问域名+端口号即可。root后面跟着的是项目在服务器中的路径,index后面表示的是在kd-shop项目中默认的启始页面。这样我们就能访问到部署的静态资源了。

    # location匹配规则详解

    关于location上的配置,我们除了路径可以直接填写之外,还以用相关的正则表达式进行路径的映射,从而来满足各种资源的配置。具体的配置以及介绍如下:

    • 空格:默认匹配,普通匹配

      location / {
           root /home;
      }
      
      1
      2
      3
    • =:精确匹配

      location = /kd/img/kd_jpg.jpg {
          root /home;
      }
      
      1
      2
      3
    • ~*:匹配正则表达式,不区分大小写

      #符合图片的显示
      location ~* .(GIF|jpg|png|jpeg) {
          root /home;
      }
      
      1
      2
      3
      4
    • ~:匹配正则表达式,区分大小写

      #GIF必须大写才能匹配到
      location ~ .(GIF|jpg|png|jpeg) {
          root /home;
      }
      
      1
      2
      3
      4
    • ^~:以某个字符路径开头

      location ^~ /kd/img {
          root /home;
      }
      
      1
      2
      3
    #Nginx#Nginx静态文件配置#Nginx教程
    上次更新: 2022/11/30, 00:06:25
    Nginx系列-基础概念
    Nginx系列-跨域和防盗链配置

    ← Nginx系列-基础概念 Nginx系列-跨域和防盗链配置→

    最近更新
    01
    让大龄程序员欲罢不能的事儿
    09-23
    02
    运营明明设置了活动开始时间,为什么到点没生效?聊聊动态定时任务
    07-30
    03
    不是,大哥,咱这小门小户的,别搞我CDN流量啊
    07-25
    更多文章>
    Theme by Vdoing | Copyright © 2020-2024 Kitty Daddy | License
    • 跟随系统
    • 浅色模式
    • 深色模式
    • 阅读模式