- 博客(479)
- 资源 (7)
- 收藏
- 关注
原创 【Nginx28】Nginx学习:代理模块(二)缓存与错误处理
Nginx学习:代理模块(二)缓存与错误处理在基本的配置学习之后,其实大部分的业务场景就已经够用了,没错,就那一个 proxy_pass 指令,真的就够了。但是,对于许多更复杂的业务场景来说,Nginx 的代理模块还是提供了更多的功能,做为每个想成为架构师的码农来说,这一部分不说多精通,至少也都得有些了解。今天学习的代理模块缓存与错误处理和 FastCGI 模块非常类似,很多内容我们照搬之前的测试...
2023-09-21 18:04:36
10
原创 【Nginx27】Nginx学习:代理模块(一)基本配置与概念
Nginx学习:代理模块(一)基本配置与概念来了来了它来了。要说 Nginx 最早最出名的名头是什么?相信不少老码农马上就会想到,最开始,Nginx 的名头就是一款性能最高的 反向代理 服务器。现在其实也是,但是这么说的人越来越少了。也就是说,其实 Nginx 最主要的功能就在于反向代理。如果是编程小白,刚刚从事编程相关工作,没有配置过负载集群,可能对这个概念还是比较陌生的。那么今天咱们就来先说说...
2023-09-18 18:02:54
52
原创 【Nginx26】Nginx学习:日志与镜像流量复制
Nginx学习:日志与镜像流量复制总算到了日志模块,其实这个模块的指令之前我们就用过了,而且也是是非常常见的指令。相信这一块的学习大家应该不会有什么难度。另一个则是镜像功能,这个估计用过的同学就比较少了,不过也并不是特别的复杂,一会讲到的时候咱们再详细说哦。今天的两个模块都是包含在 Nginx 源码中的,不需要额外单独编译安装。所有的配置指令大分部都可以在 http、server、location...
2023-09-14 18:03:29
71
原创 【Nginx25】Nginx学习:连接限制和请求限制
Nginx学习:连接限制和请求限制之前我们就已经学习过了一些和流量限制相关的配置指令,它们是 HTTP 核心配置中的内容,不记得的小伙伴可以回去看一下Nginx学习:HTTP核心模块(七)请求体与请求限流https://mp.weixin.qq.com/s/YniglCFW9ZffhI_Zd9j8Yg。当时就说过,那一套限制是针对流量的限制,主要就是为了带宽不被占满,或者是实现类似下载限速的能...
2023-09-11 18:02:30
80
原创 【Nginx24】Nginx学习:压缩模块Gzip
Nginx学习:压缩模块Gzip又是一个非常常见的模块,Gzip 现在也是事实上的 Web 应用压缩标准了。随便打开一个网站,在请求的响应头中都会看到Content-Encoding: gzip这样的内容,这就表明当前这个请求的页面或资源使用了 Gzip 压缩。具体的压缩算法咱们就不多说了,反正文字类的,相同字符越多的压缩效果越好。这也是大部分压缩算法的特点。其它的,咱们就直接看配置吧。今天学...
2023-09-07 18:04:21
278
原创 【Nginx23】Nginx学习:响应头与Map变量操作
Nginx学习:响应头与Map变量操作响应头是非常重要的内容,浏览器或者客户端有很多东西可能都是根据响应头来进行判断操作的,比如说最典型的 Content-Type ,之前我们也演示过,直接设置一个空的 types 然后指定默认的数据类型的值,所有的请求浏览器都会直接下载。另外,我们现在在做前后分离的开发时,也经常会通过头信息来传递一些标志参数,那么自定义响应头的作用就更加重要了。另外一个 Map...
2023-09-04 18:05:06
167
原创 【Nginx22】Nginx学习:FastCGI模块(四)错误处理及其它
Nginx学习:FastCGI模块(四)错误处理及其它FastCGI 最后一篇,我们将学习完剩下的所有配置指令。在这里,错误处理还是单独拿出来成为一个小节了,而剩下的内容都放到其它中进行学习。不要感觉是其它的就没用了,有些配置指令还是非常重要的哦,或许正好你现在的项目就能用上呢。今天学习的内容都是可以设置在 http、server、location 中的,有特殊情况的我会单独说。错误处理FastC...
2023-08-31 18:06:36
498
原创 【Nginx21】Nginx学习:FastCGI模块(三)缓冲区与响应头
Nginx学习:FastCGI模块(三)缓冲区与响应头缓存相关的内容占了 FastCGI 模块将近一小半的内容,当然,用过的人可能不多。而今天的内容说实话,我平常也没怎么用过。第一个是缓冲区相关的知识,其实和我们之前学习过的 client_body_buffer_size 有点类似,但它是针对后端动态程序的响应缓冲区来说的。另一个也是响应有关的,主要是响应头相关的一些配置。今天学习的内容都是可以设...
2023-08-28 18:03:11
177
原创 【Nginx20】Nginx学习:FastCGI模块(二)缓存配置
Nginx学习:FastCGI模块(二)缓存配置通过上篇文章的学习,普通的 PHP 与 Nginx 的连接就已经没啥大问题了。一般的网站直接那套配置就够了,这也是 Nginx 非常友好的一面。很多在默认的配置文件中注释掉的内容,只要打开就是可以直接使用的。不过,FastCGI 可不是一个小模块,还有很多的配置指令,要想深入,要想调优,这些指令还是多少要了解一下的。今天学习的内容基本上也都是可以设置...
2023-08-24 18:02:56
655
原创 【Nginx19】Nginx学习:FastCGI模块(一)基础配置
Nginx学习:FastCGI模块(一)基础配置万众瞩目啊,总算到 FastCGI 了。看我文章和视频的各位大佬们8成以上都是 PHPer 吧,要做 PHP ,FastCGI 的配置就少不了。CGI 、FastCGI 、PHP-FPM 这些概念,咱们在很早之前的了解PHP-FPMhttps://mp.weixin.qq.com/s/NUpDnfYfbPuWmal4Am3lsg这篇文章中就学习过...
2023-08-21 18:06:13
520
原创 【Nginx18】Nginx学习:WebDav文件存储与图片媒体处理模块
Nginx学习:WebDav文件存储与图片媒体处理模块今天的内容怎么说呢?有两个感觉非常有意思,另外一些就差点意思。有意思的是,咱们可以直接用 Nginx 的 Webdav 功能搭建一个网盘,另外也可以实现动态的图片处理。这两个功能吧,有其局限性,但也非常方便。另外的流媒体部分的内容,主要 FLV 和 MP4 这两种视频媒体格式的处理,说实话,没啥实际的内容,了解一下就好了。WebDav关于 We...
2023-08-17 18:02:48
519
1
原创 【Nginx17】Nginx学习:目录索引、字符集与浏览器判断模块
Nginx学习:目录索引、字符集与浏览器判断模块今天要学习的内容有几个还是大家比较常见的,所以学习起来也不会特别费劲。对于目录的默认页设置大家都不会陌生,字符集的设置也比较常见,而浏览器的判断这一块,可能有同学会接触过针对 IE 浏览器的一些特殊设置。今天的内容也基本上都是可以在 http、server、location 中可以进行配置的,只有一个指令是只能在 http 中配置的,到时候会单独说。...
2023-08-14 18:03:02
460
原创 【Nginx15】Nginx学习:HTTP核心模块(十二)内嵌变量
Nginx学习:HTTP核心模块(十二)内嵌变量关于内嵌变量,其实就是 Nginx 开放给我们的在配置文件中可以使用的变量。源码中无非就是替换成真实的代码变量进行操作。这些变量可以帮助我们做很多事情。之前的文章中其实也有不少地方用到了,比如说$uri这个变量,是不是已经见过很多次了。而且这些变量基本上和 Apache 是对应的。默认提供的变量非常多,在这里我也只是将官网的 HTTP 核心模块中...
2023-08-07 18:04:21
929
原创 【Nginx14】Nginx学习:HTTP核心模块(十一)其它配置
Nginx学习:HTTP核心模块(十一)其它配置剩下的一些配置指令没有大的归属,不过也有一些是比较常见的,这部分内容学习完成之后,整个 http 模块相关的核心基础配置指令就全部学习完成了。今晚可以举杯庆祝一下了,咱们远程干杯。但是,还是要泼个冷水哦,咱们的学习还有很长的路要走。如果你看过 Nginx 的官方文档,就会知道仅仅是 HTTP 模块本身,就还有一大堆核心模块之外的模块。不过,幸运的是,...
2023-08-03 18:02:45
1121
原创 【Nginx13】Nginx学习:HTTP核心模块(十)Types、AIO及其它配置
Nginx学习:HTTP核心模块(十)Types、AIO及其它配置今天学习的内容也比较简单,主要的是 Types 相关的配置,另外还会了解一下 AIO 以及部分没有特别大的分类归属的配置指令的使用。后面的内容都是 HTTP 核心模块中比较小或者比较简单的部分了。有很多配置项其实我们平常并不常用,甚至很多在学习之前我都不知道有它们的存在。做为扩展知识眼界来说,非常有意义,也能够学习到很多之前并不了解...
2023-07-31 18:04:02
964
原创 【Nginx12】Nginx学习:HTTP核心模块(九)浏览器缓存与try_files
Nginx学习:HTTP核心模块(九)浏览器缓存与try_files浏览器缓存在 Nginx 的 HTTP 核心模块中其实只有两个简单的配置,这一块也是 HTTP 的基础知识。之前我们就一直在强调,学习 Nginx 需要的就是各种网络相关的基础知识,其中更重要的就是 HTTP 和 TCP 相关的内容。另外一个 try_files 配置指令也是 Nginx 中非常常用的一个指令,用于找不到指定的路径...
2023-07-27 18:04:34
819
原创 【Nginx11】Nginx学习:HTTP核心模块(八)文件处理
Nginx学习:HTTP核心模块(八)文件处理继续我们的 HTTP 核心模块之旅。今天主要是文件相关的一些处理操作,包括 DirectIO、文件缓存以及 sendfile 相关的配置。这三个配置中,大家应该会见过 sendfile ,但是另外两个就比较少见了。包括我之前也从来没见过,不过还好,DirectIO 并不是一个完全的陌生人,文件缓存优化也与操作系统基础知识有关,而 sendfile 一般...
2023-07-24 18:03:44
486
原创 【Nginx10】Nginx学习:HTTP核心模块(七)请求体及请求限流
Nginx学习:HTTP核心模块(七)请求体及请求限流对于一个请求来说,请求行、请求头、请求体共同构成了它的整体。不过如果仅仅是 GET 请求的话,其实一般会忽略掉请求体。但是,现在大部分的伪 RESTful 开发风格,基本上已经变成了全部都是 POST 的天下了。特别是小型公司,不管前后端分离还是小程序、APP,一套 POST 走天下。这也不怪我们懒,或者不规范,小公司毕竟是以成本,以效率来搏命...
2023-07-20 18:04:00
259
1
原创 【Nginx09】Nginx学习:HTTP核心模块(六)请求头处理
Nginx学习:HTTP核心模块(六)请求头处理对于一个 HTTP 应用来说,最重要的其实就是 HTTP 的两个核心功能,一个是请求,一个就是响应。而对于一个 Web 应用服务器来说,响应通常是静态文件或者是动态程序代码来完成,围绕响应的配置指令大部分以缓存优化为主。从这里也能看出,在 Nginx 这种应用服务中,请求相关的内容会更多一些,因为我们要面对的,要对接的,就是从外部不断发过来的请求。今...
2023-07-17 18:02:09
1488
原创 【Nginx08】Nginx学习:HTTP核心模块(五)长连接与连接处理
Nginx学习:HTTP核心模块(五)长连接与连接处理HTTP 基础知识大家掌握的怎么样呀?对于长连接这一块的内容应该也不是什么新鲜东西了吧。毕竟 HTTP1.1 都已经发布这么久了。今天主要来看的就是长连接相关的配置,另外还会介绍几个和连接有关的内容。同时,今天的内容除了 HTTP 外,还需要一点 TCP 的知识。没办法,毕竟 Ngxin 本身就是一个网络代理服务器软件,离不开的就是各种网络相关...
2023-07-13 18:05:02
1605
原创 【Nginx07】Nginx学习:HTTP核心模块(四)错误页面与跳转
Nginx学习:HTTP核心模块(四)错误页面与跳转最最核心的部分学习完了,但其实还有更多的内容要等待着我们探索。今天我们先来看到的就是关于错误页面的设置以及 301、302 跳转相关的内容。这两块内容都有一个特点,那就是页面或明显地,或不明显地产生了跳转变化,显示的都不是本来我们应该要得到的那个链接的页面。error_page这个指令应该是比较常见了吧,为指定错误定义显示的URI。error_p...
2023-07-10 18:03:04
535
原创 【Nginx06】Nginx学习:HTTP核心模块(三)Location
Nginx学习:HTTP核心模块(三)LocationLocation 是整个 HTTP 模块中非常重要的一个子模块,它是为某个请求URI(路径)建立配置。这个模块又是属于 Server 模块的子模块,同时它还可以嵌套在另一个 Location 模块下面,因此,它的作用范围是 server 和 location 。其实,说白了,也就是我们可以为指定的一些路径去做一些额外的配置。location[...
2023-07-06 18:06:54
789
原创 【Nginx05】Nginx学习:HTTP核心模块(二)Server
Nginx学习:HTTP核心模块(二)Server第一个重要的子模块就是这个 Server 相关的模块。Server 代表服务的意思,其实就是这个 Nginx 的 HTTP 服务端所能提供的服务。或者更直白点说,就是虚拟主机的配置。通过 Server ,我们可以在同一台服务器上,配置监听不同端口号的 HTTP 应用,配置不同域名解析的 HTTP 服务,并且还可以灵活组合进行各种不同的域名和端口号的...
2023-07-03 18:03:51
585
原创 【Nginx04】Nginx学习:HTTP核心模块(一)简单搭建
Nginx学习:HTTP核心模块(一)简单搭建前面就说过了,HTTP 模块是整个 Nginx 中最核心的模块。在这其中,它又有一部分最核心的模块,其实也就是在编译安装的时候,我们不装任何扩展就自带的模块。这一部分模块就像是基本的 PHP 语法一样,是最基础的,也是我们最需要重点掌握的内容。今天先入个门,搭起简单的一套 Web 服务,让 Nginx 可用就行了。内容不复杂,但如果是初学者,那一定要跟...
2023-06-29 18:02:27
970
原创 【Nginx03】Nginx学习:事件模块Event
Nginx学习:事件模块Event基础的核心模块中,事件模块是非常重要的一个部分,但是,它的配置项其实并不多,常见的或者说需要我们去配置的更少。不过本着基础学习和了解的态度,咱们还是要一个个的学习一下。首先来看一下什么是事件模块。在 Nginx 中,模块相关的配置都是在一对大花括号中的,比如 http{} 、server{} 这些,事件模块也是类似的。events{……………………}事件模块主要...
2023-06-26 18:02:06
228
原创 【Nginx02】Nginx学习:核心模块Core
Nginx学习:核心模块Core对于 Nginx 的学习来说,其实最基础的就是学习配置文件中的各种不同配置项。如果想要深入的理解 Nginx ,那就要去研究它的源码,但是就像之前说过的,C 的水平以及整体的计算机基础知识的水平还不足以支撑我达到可以分析 Nginx 源码的程度。因此,咱们就是对各种配置的学习。在 Nginx 中,各种功能其实是以各种模块来提供的,比如最重要的包括核心模块、事件模块、...
2023-06-22 18:04:13
380
1
原创 【Nginx01】Nginx学习:命令行参数
Nginx学习:命令行参数对于 Nginx 来说,它不像其它很多别的工具一样,有很多的命令行参数,比如我们刚刚学习完的 Redis 中的 redis-cli 或者 redis-server 。Nginx 的命令行参数只有几个,相信不少同学也经常会用到,所以总体来说,今天学习的内容并不是特别的复杂。关于 Nginx 是什么,怎么安装,咱们也不多解释了,直接就开始正式的学习。毕竟现在 Nginx 已经...
2023-06-19 18:03:31
249
原创 【Redis30】Redis进阶:一些简单运维技巧
Redis进阶:一些简单运维技巧关于 Redis 的运维,我的经验仅限于安装、备份,而且还是最简单的利用一些面板工具。之前很多篇文章中我都强调过,我没有 Redis 的主从及分布式的真实项目经历。经历过的流量最大的项目也只是一台 Redis 实例就抗住了。毕竟 Redis 具有号称单机单实例写入 8万/秒 ,读取 11万/秒 的能力,咱们一般的项目根本达不到啊。而且即使机器性能有差异,减一半,甚至...
2023-06-15 18:02:33
1938
原创 【Redis29】Redis进阶:缓存穿透、击穿与雪崩
Redis进阶:缓存穿透、击穿与雪崩其实啊,这个内容本来不打算写了,网上讲这一块的内容实在是太多了。不过呢,本着学习还是要全面的原则,而且还要让自己多多巩固复习的原则,咱还是来写一道吧。同样的,这三个问题也是面试中的经典问题,而且是面向整个缓存机制的,不仅是 Redis 的问题,即使你用 Memcached 、ETCD、或者 SWOOLE 中的 TABLE 之类的,也会有这样的问题。缓存场景大部分...
2023-06-12 18:02:16
1491
原创 【Redis28】Redis进阶:配置文件(二)
Redis进阶:配置文件(二)继续我们的配置文件的学习,上回我们已经学习完了整个 Redis 配置文件的前半部分,今天我们就向后半部分进发。这一部分的内容说实话有更多的内容是更偏门的,都不知道是干嘛用的。还是那句话,本着了解的态度,死磕也要过一遍,以后万一哪天用到了,再详细深入的研究也不迟。MEMORY MANAGEMENT 内存管理内存管理的内容我们在之前的文章也简单地接触过。主要就是最大内存容...
2023-06-08 18:02:21
641
原创 【Redis27】Redis进阶:配置文件(一)
Redis进阶:配置文件(一)对于配置文件来说,往往是很多大佬们入手运维优化的第一步,因此我们想要真正的进阶,就一定要看看配置文件中有哪些可以配置的地方,有哪些可以优化的配置点。当然,咱也不是特别专业,有很多配置也不知道是啥意思,更不知道应该配成什么才是最好的。既然这样,那就一起来学学呗。整个配置文件有两篇文章,基于 Redis6.2 版本的原生配置文件。其它没有在配置文件中出现的配置项可能都并不...
2023-06-05 18:03:19
239
原创 【Redis26】Redis进阶:RESP协议-使用PHP手撸一个客户端
Redis进阶:RESP协议-使用PHP手撸一个客户端应用软件和数据库或者说和其它外部程序是怎么连接的呢?大部分同学应该都知道,基本都是通过 TCP 建立连接来进行通信的,不过也有像 ES 这种直接通过 HTTP 发请求来操作的。Redis 和大部分的数据库软件都是类似的,通过的是 TCP 连接的。另外还有 UnixSocket 这种形式,不过这种只能应用在本地。此外,不同的软件在进行通信的时候,...
2023-06-01 18:02:30
238
原创 【Redis25】Redis进阶:分布式锁实现
Redis进阶:分布式锁实现锁这个概念,不知道大家掌握的怎么样。我是先通过 Java ,知道在编程语言中是如何使用锁的。一般 Java 的例子会是操作一个相同的文件,但其实我们知道,不管是文件,还是数据库中的一条数据,只要是多个进程或者线程共享的,需要共同操作的数据,都会因为异步读写而带来一些问题,这些问题最终的解决方案往往就是通过锁。MySQL 中,有表锁、行锁、读写锁、意向锁、间隙锁等等,而在...
2023-05-29 18:03:38
636
原创 【Redis24】Redis进阶:分布式部署RedisCluster(二)
Redis进阶:分布式部署RedisCluster(二)上回学习的到内容大家自己试了没?搭建起来应该难度不大的,今天我们就继续学习。分布式开发中,最常见的一个问题就是怎么扩展。本身我们做分布式,就是因为单机处理性能不够,通过多机来并行处理,就你是单线程和多线程的区别。对于应用实例还好说,毕竟业务处理将流量分走就好了,大家干的是一样的事,但是对于存储系统来说,就有一个很大的问题:数据应该落在哪里?就...
2023-05-25 18:02:54
506
原创 【Redis23】Redis进阶:分布式部署RedisCluster(一)
Redis进阶:分布式部署RedisCluster(一)铺垫了那么久,总算到了 Cluster 的学习啦,开心撒花吧!!久闻大名,但其实之前咱也从来没自己配过,借着这回学习的机会,深入地了解了一下 Redis 中这个自带的分布式方案。之前的文章中就说过,Redis 的核心命令处理是单线程的,并且官方推荐的多线程处理方案就是使用分布式的方式,多来几个实例,达到同时多个实例可以共同处理请求的目的。另外...
2023-05-22 18:02:23
356
原创 【Redis22】Redis进阶:哨兵机制RedisSentinel
Redis进阶:哨兵机制RedisSentinel上回讲主从复制时,我们留了一个问题,那就是手动切换主从库实在是太麻烦了。别担心,Redis 的作者们早就为我们想到这个情况啦,哨兵功能就是为了这个而生的。哨兵 Redis Sentinel其实想想也知道,哨兵就是帮我们进行主从自动切换的功能。当主库发生问题,无法访问时,哨兵会马上检测到,并排除网络问题在一定时间后确认主库确实是挂了,这时,就会将某一...
2023-05-18 18:05:44
694
原创 【Redis21】Redis进阶:主从复制
Redis进阶:主从复制对于大型企业来说,一台 Redis 实例要保证可用性,往往会配置主从库。这一点上其实和 MySQL 是一样的,我们绝大部分的业务需求通常的情况都是读多写少。在这种情况下,合理的分摊读库请求,就可以大大加强请求的响应速度。对比 MySQL 来说,Redis 的主从复制简单的没朋友。主从复制配置对于我们测试学习来说,一般不会去建立多个虚拟机或者 Docker ,更不可能去买多台...
2023-05-15 18:02:52
291
原创 【Redis20】Redis进阶:线程与安全问题
Redis进阶:线程与安全问题之前我们其实已经提到过,Redis 是单线程的,那么,为什么它的作者坚持只使用单线程呢?在 Redis 6 之后,也增加了多线程的内容,但是这个多线程并不是说命令处理实现了多线程,而只是网络IO部分,为什么又仅仅只是给这一块增加了多线程呢?最后,我们还要看一看 Redis 中的安全问题。怎么样,今天的内容是不是还是有点意思的?当然,这些内容也偏理论,没啥好实践的东西,...
2023-05-11 18:06:39
364
1
原创 【Redis19】Redis进阶:持久化策略
Redis进阶:持久化策略从最早接触 Redis 开始,我们就知道它是一个内存数据库,这是它的优势,也是它的劣势。为啥这么说呢?内存速度快,但是断电或者重启即丢。然而,要做为一个生产环境所能使用的数据库系统,将数据持久化就成为了一个必要的能力。毕竟我们可不想重启 Redis 之后,每个生产缓存都要从头重建一遍,最好是重启的时候直接就帮我们将之前已经保存的数据重新加载进来。这就是 Redis 持久化...
2023-05-08 18:03:34
475
原创 【Redis18】Redis进阶:内存回收策略
Redis进阶:内存回收策略今天的内容很偏理论,不过也只是对于官方文档的一个补充而已,所以大家也不必有很大的心理负担。理论的东西,多看几遍就理解了,读书百遍其义自现嘛。即使不理解,当八股文背下来也没啥坏处。内存过期回收算法目前市面上,你能听到的过期回收算法基本就是两种,一个叫 LRU 一个叫 LFU 。当然,还有别的算法,不过我也不知道,不知为不知,咱们就先来学习知道的东西。它们俩都是内存管理的一...
2023-05-04 18:04:24
411
ACCP5.0-S2-三层结构项目-酒店管理系统(二)
2008-09-05
ACCP5.0-S2-三层结构项目-酒店管理系统(一)
2008-08-27
ACCP5.0-S2-C#OOP项目-影院售票系统
2008-08-19
ACCP5.0二期SQL项目
2008-07-23
北大青鸟ACCP5.0一期阶段项目
2008-06-24
北大青鸟ACCP5.0一期C#项目
2008-06-09
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人