[Day2] Nginx静态文件

    ​上一节我们介绍了nginx的三个使用场景和一些配置语法参数,今天我们就用一章的内容来介绍一下Nginx作为静态资源服务器的配置和常见问题。

一. 简单的静态服务器

    ​话不多说,直接上配置代码。

  server{
       listen    8080;
       server_name    localhost;
       location / {
      alias    /home/user/nginx/html/static_html/;
      index    index_static.html;
       }
  }

注:
  listen: 监听的端口号
  server_name: 域名
  location:配置的静态文件域
  /: 表示所有的请求
  alias:本地资源路径。(root可实现类似功能,两者的区别是root会将location /后的路径拼接到转换后的路径,alias则不会)
  index: 默认页,如果不配置此参数Nginx会找目录下的index.html index.htm作为默认页
小技巧:在配置Nginx时,可以在其他文件中写上诉的配置。并使用include 文件名的方式,将其他配置文件注入到nginx.conf中。nginx.conf是Nginx在启动或者reload时默认载入的配置文件,当然我们可以使用nginx命令 -c重新指定。

二. 压缩静态文件

    ​静态文件如html、css、js等有时候比较大,使用压缩可以很好的提升网络传输的性能。不过压缩需要占用服务器的cpu时间,是否启用压缩以及选择压缩率还是要视情况而定。

    ​命令:

    ​    ​gzip  on;

    ​    ​gzip_min_length 1024;

    ​    ​gzip_comp_level 2;

    ​    ​gzip_types test/plain application/x-javascript application/javascript text/css application/xml image/jpeg image/gif image/png;

    ​注解:

    ​    ​可配置到server中局部生效。也可以配置在server外 http中文件内生效。

    ​    ​gzip: on 启动压缩 off 关闭压缩

    ​    ​gzip_min_length: 需要压缩的最小字节数,小于此配置的文件将不会被压缩

    ​    ​gzip_comp_level: 压缩级别,1-10,数字越大压缩的越好,也越占用CPU时间。一般设置为1-      2,过高的设置压缩效果提升的不明显。

    ​    ​gzip_types: 需要压缩的文件类型

三. 设置成目录文件

    有时候一个nginx服务就是为了用来下载文件的,例如prce官网的下载页面。这个在nginx中配置一个命令即可。

    ​命令:

        auto_index    on;

    注:如果server首页就要显示目录文件,应该将 index 配置的首页设置为不存在的文件。Nginx的处理流程中index模块要先与auto_index模块,如果index模块生效,auto_index模块将不会执行。

四. 设置大文件时的限速

    为了避免用户请求大文件时将带宽占满,而对其他用户访问小文件产生影响,我们可以在nginx上进行配置,对文件的下载速度进行限速。

    命令:

        set $limit_rate 300k;

    ​注:$limit_rate是Nginx提供的参数变量,几乎所有Nginx模块都有变量,在官网文档中可以在相关模块的Embedded Variables中找到该模块提供的所有变量以及其用处。

    ​    ​    300k是设置的每秒请求文件大小

五. 设置日志文件

    Nginx日志文件access.log可以记录每一次访问请求的相关数据,根据这些数据我们了解网站的整个运行情况。Nginx会默认开启日志模块功能,并允许我们对日志格式、文件路径做自定义的配置。

    命令:

            1. 设置日志格式规则

                    log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '

                              '$status $body_bytes_sent "$http_referer" '

                              '"$http_user_agent" "$http_x_forwarded_for"';

                    注:main是格式规则名,后边是日志的格式

            2. 设置启用main格式规则

                    access_log  logs/host.access.log  main;

                    注:logs/host.accesss.log 是日志文件路径,main则表示启用规则名为main的日志

六. GoAccess

    GoAccess是一款可视化监控access日志的组件,用起来非常简单,它会将access文件的内容解析成各种维度的图表,在生产环境经常会使用到它。

猜你喜欢

转载自www.cnblogs.com/wang-yi-shan/p/11873117.html