Nginx系列-缓存控制

说起缓存,老猫觉得大家应该都不陌生,大家如果做web开发的话,遇到最多的应该就是浏览器缓存了吧。本节来和大家分享一下nginx和浏览器缓存之间的关系以及和服务器缓存之间的关系。

Nginx缓存概览介绍

我们以一张nginx缓存的图示作为开端,如下图
nginx缓存

从图上我们可以看出,其实nginx的缓存分为两部分,一部分是nginx中本身的一些静态资源文件缓存到本地的浏览器中,第二部分的缓存就是上游系统的一些数据或者页面等等资源缓存到nginx中。其中第一部分的缓存有助于提升用户访问时的访问效率,第二部分缓存主要基于内网,当用户请求相同的资源的时候无需多次访问我们的服务器,某种意义上来说节省了内网资源,提升了访问效率。这两种缓存本质上都提高了用户的体验。

Nginx控制浏览器缓存

1、通过expires参数的配置从而要限定前段浏览器缓存页面的时间长度。主要配置信息如下:

1
2
3
4
5
6
7
8
9
location /files {
alias /home/imooc;
# expires 10s; ##具体表示缓存在十秒之后过期
# expires @22h30m; ##指定缓存在某个时间点过期
# expires -1h; ##表示缓存在一个小时之前就过期
# expires epoch; ##表示不对页面进行缓存
# expires off; ## 表示不打开缓存机制,不配置的情况下就是off状态
expires max; ## 表示设置最大的过期时间
}

Nginx系列-负载均衡(Nginx配置介绍)

之前简单聊了一下负载均衡,包括四层负载均衡以及七层负载均衡,以及市面上常用来做负载均衡的设备以及软件,本节里面我们主要看一下Ngnix负载均衡的配置。

Nginx系列-负载均衡(开篇)

这节主要和大家聊一下负载均衡(GSLB),相信大家都多多少少了解一些负载均衡。本质上就是指的是把请求均匀的分摊到多个服务器上处理。其实目前市面上实现负载均衡的方式有很多种,从大概念上讲,我们的负载均衡分为软负载以及硬负载。一般软负载指的就是通过软件实现负载均衡,硬负载指通过硬件实现负载均衡,例如利用f5实现。后面重点会和大家分享软负载的种类以及常见软负载的用法。在正式介绍相关负载均衡之前,老猫先和大家一起回顾一下大学中我们一起学过的计算机基础知识。

Nginx系列-跨域和防盗链配置

关于跨域和防盗链,我想大家应该都有所耳闻,本人其实也是一直处于一种懵懂的状态。所以在此,本人决定好好梳理一番。

关于跨域

跨域问题,我想大家应该都遇到过,那么具体什么是跨域呢?如果发生跨域了,我们又有哪些解决方案呢?下面我们就先来看一下什么是跨域,首先大家先看一张图解。

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

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

server配置文件的抽离

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

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

Nginx系列-日志切割

随着业务的发展,我们的线上用户访问量往往会越来越大,这时候就会产生很多访问日志。现有的日志都会存在 access.log 文件中,但是随着时间的推移,这个文件的内容会越来越多,体积会越来越大,不便于运维人员查看,所以我们可以通过把这个大的日志文件切割为多份不同的小文件作为日志,切割规则可以以为单位,如果每天有几百G或者几个T的日志的话,则可以按需以每半天或者每小时对日志切割一下。

下面是老猫整理出来的切割nginx的日志的方法。当然是通过我们的shell脚本去执行。具体步骤如下:

Nginx系列-配置介绍

开篇初衷

上一节老猫和大家分享了Nginx的相关的一些概念,以及一些基础的Nginx的模型,本节开始,和大家一起探讨一下Nginx的一些配置信息,讲清楚所以然,为什么要这么配置,这么配置有什么作用,这是本节的初衷。

配置结构以及相关语法

玩过nginx的都知道nginx.conf,nginx的最主要的配置也就是在这个文件中。我们首先看一下这个配置的结构信息。打开nginx.conf文件,我们浏览一下,大概可以得到如下一个结构图。

Nginx系列-基础概念

研究背景

总是听说负载均衡,高并发这些可以用nginx服务器实现。但是不知其所以然。另外的在我们的日常工作中,也会遇到一些nginx的配置,但是往往只是用的时候去百度,去生搬硬套根本不知道为何要这么做,为了刨根问底,所以在此和大家一同学习研究Nginx。

什么是Nginx?

百度百科是这么定义的:Nginx(engine x)是一个高性能的HTTP和反向代理web服务器,同时也提供IMAP/POP3/SMTP服务。另外的老猫也梳理了其他关于Nginx的使用范围:(1)反向代理功能 (2)通过配置文件可以实现集群以及负载均衡(3)静态资源虚拟化。

Nginx安装教程

  1. 官网http://nginx.org/下载对应的nginx包,推荐使用稳定版本

  2. 上传nginx到linux系统

  3. 安装依赖环境

    (1)安装gcc环境

    1
    yum install gcc-c++

    (2)安装PCRE库,用于解析正则表达式

    1
    yum install -y pcre pcre-devel
Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×