├──jk20301-Nginx核心知识100讲
| ├──001-050
| | ├──01丨 课程综述,dbbp.net[2].mp4 15.67M
| | ├──02丨 Nginx 适用于哪些场景?,dbbp.net[2].mp4 13.99M
| | ├──03丨 Nginx 出现的历史背景,dbbp.net[2].mp4 9.99M
| | ├──04丨 为什么用 Nginx:它的 5 个主要优点,dbbp.net[2].mp4 9.25M
| | ├──05丨 Nginx 的四个主要组成部分,dbbp.net[2].mp4 7.65M
| | ├──06丨 Nginx 的版本发布历史,dbbp.net[2].mp4 13.64M
| | ├──07丨 选择哪一个 Nginx 发行版本?,dbbp.net[2].mp4 13.58M
| | ├──08丨 编译出适合自己的 Nginx,dbbp.net[2].mp4 70.13M
| | ├──09丨 Nginx 配置文件的通用语法介绍,dbbp.net[2].mp4 16.77M
| | ├──10丨 Nginx 命令行及演示:重载、热部署、日志切割,dbbp.net[2].mp4 55.59M
| | ├──11丨 用 Nginx 搭建一个可用的静态资源 Web 服务器,dbbp.net[2].mp4 60.64M
| | ├──12丨 用 Nginx 搭建一个具备缓存功能的反向代理服务,dbbp.net[2].mp4 52.25M
| | ├──13丨 用 GoAccess 实现可视化并实时监控 access 日志,dbbp.net[2].mp4 34.08M
| | ├──14丨 从网络原理来看 SSL 安全协议,dbbp.net[2].mp4 15.19M
| | ├──15丨 对称加密与非对称加密各自的应用场景,dbbp.net[2].mp4 7.43M
| | ├──16丨 SSL 证书的公信力是如何保证的?,dbbp.net[2].mp4 25.01M
| | ├──17丨 SSL 协议握手时 Nginx 的性能瓶颈在哪里?,dbbp.net[2].mp4 18.97M
| | ├──18丨 用免费 SSL 证书实现一个 HTTPS 站点,dbbp.net[2].mp4 33.39M
| | ├──19丨 基于 OpenResty 用 Lua 语言实现简单服务,dbbp.net[2].mp4 46.47M
| | ├──20丨 Nginx的请求处理流程,dbbp.net[2].mp4 22.64M
| | ├──21丨 Nginx的进程结构,dbbp.net[2].mp4 21.92M
| | ├──22丨 Nginx的进程结构实例演示,dbbp.net[2].mp4 21.93M
| | ├──23丨 使用信号管理Nginx的父子进程,dbbp.net[2].mp4 17.79M
| | ├──24丨 reload重载配置文件的真相,dbbp.net[2].mp4 30.93M
| | ├──25丨 热升级的完整流程,dbbp.net[2].mp4 24.88M
| | ├──26丨 优雅地关闭worker进程,dbbp.net[2].mp4 21.29M
| | ├──27丨 网络收发与Nginx事件间的对应关系,dbbp.net[2].mp4 21.20M
| | ├──28丨 Nginx网络事件实例演示,dbbp.net[2].mp4 24.17M
| | ├──29丨 Nginx的事件驱动模型,dbbp.net[2].mp4 10.09M
| | ├──30丨 epoll的优劣及原理,dbbp.net[2].mp4 18.67M
| | ├──31丨Nginx的请求切换,dbbp.net[2].mp4 13.31M
| | ├──32丨 同步&异步、阻塞&非阻塞之间的区别,dbbp.net[2].mp4 40.31M
| | ├──33丨 Nginx的模块究竟是什么?,dbbp.net[2].mp4 37.84M
| | ├──34丨 Nginx模块的分类,dbbp.net[2].mp4 28.02M
| | ├──35丨 Nginx如何通过连接池处理网络请求,dbbp.net[2].mp4 44.31M
| | ├──36丨 内存池对性能的影响,dbbp.net[2].mp4 29.12M
| | ├──37丨 所有worker进程协同工作的关键:共享内存,dbbp.net[2].mp4 20.80M
| | ├──38丨 用好共享内存的工具:Slab管理器,dbbp.net[2].mp4 56.49M
| | ├──39丨 哈希表的max_size与bucket_size如何配置,dbbp.net[2].mp4 23.47M
| | ├──40丨 Nginx中最常用的容器:红黑树,dbbp.net[2].mp4 16.09M
| | ├──41丨 使用动态模块来提升运维效率,dbbp.net[2].mp4 45.00M
| | ├──42丨 第三章内容介绍,dbbp.net[2].mp4 27.03M
| | ├──43丨 冲突的配置指令以谁为准?,dbbp.net[2].mp4 41.45M
| | ├──44丨 Listen指令的用法,dbbp.net[2].mp4 26.16M
| | ├──45丨 处理HTTP请求头部的流程,dbbp.net[2].mp4 41.75M
| | ├──46丨 Nginx中的正则表达式,dbbp.net[2].mp4 25.08M
| | ├──47丨 如何找到处理请求的server指令块,dbbp.net[2].mp4 37.37M
| | ├──48丨 详解HTTP请求的11个阶段,dbbp.net[2].mp4 27.29M
| | ├──49丨 11个阶段的顺序处理,dbbp.net[2].mp4 18.26M
| | └──50丨 postread阶段:获取真实客户端地址的realip模块,dbbp.net[2].mp4 38.61M
| ├──051-099
| | ├──51丨 rewrite阶段的rewrite模块:return指令,dbbp.net[2].mp4 31.81M
| | ├──52丨 rewrite阶段的rewrite模块:重写URL,dbbp.net[2].mp4 25.66M
| | ├──53丨 rewrite阶段的rewrite模块:条件判断,dbbp.net[2].mp4 19.41M
| | ├──54丨 find_config阶段:找到处理请求的location指令块,dbbp.net[2].mp4 34.85M
| | ├──55丨 preaccess阶段:对连接做限制的limit_conn模块,dbbp.net[2].mp4 24.71M
| | ├──56丨 preaccess阶段:对请求做限制的limit_req模块,dbbp.net[2].mp4 26.92M
| | ├──57丨 access阶段:对ip做限制的access模块,dbbp.net[2].mp4 10.18M
| | ├──58丨 access阶段:对用户名密码做限制的auth_basic模块,dbbp.net[2].mp4 20.52M
| | ├──59丨 access阶段:使用第三方做权限控制的auth_request模块,dbbp.net[2].mp4 29.91M
| | ├──60丨 access阶段的satisfy指令,dbbp.net[2].mp4 23.97M
| | ├──61丨 precontent阶段:按序访问资源的try_files模块,dbbp.net[2].mp4 15.87M
| | ├──62丨 实时拷贝流量:precontent阶段的mirror模块,dbbp.net[2].mp4 18.82M
| | ├──63丨 content阶段:详解root和alias指令,dbbp.net[2].mp4 20.46M
| | ├──64丨 static模块提供的3个变量,dbbp.net[2].mp4 14.45M
| | ├──65丨 static模块对url不以斜杠结尾却访问目录的做法,dbbp.net[2].mp4 25.30M
| | ├──66丨 index和autoindex模块的用法,dbbp.net[2].mp4 21.32M
| | ├──67丨 提升多个小文件性能的concat模块,dbbp.net[2].mp4 20.95M
| | ├──68丨 access日志的详细用法,dbbp.net[2].mp4 31.60M
| | ├──69丨 HTTP过滤模块的调用流程,dbbp.net[2].mp4 30.30M
| | ├──70丨 用过滤模块更改响应中的字符串:sub模块,dbbp.net[2].mp4 21.14M
| | ├──71丨 用过滤模块在http响应的前后添加内容:addition模块,dbbp.net[2].mp4 13.80M
| | ├──72丨 Nginx变量的运行原理,dbbp.net[2].mp4 28.15M
| | ├──73丨 HTTP框架提供的请求相关的变量,dbbp.net[2].mp4 44.76M
| | ├──74丨 HTTP框架提供的其他变量,dbbp.net[2].mp4 21.42M
| | ├──75丨 使用变量防盗链的referer模块,dbbp.net[2].mp4 33.03M
| | ├──76丨 使用变量实现防盗链功能实践:secure_link模块,dbbp.net[2].mp4 62.12M
| | ├──77丨 为复杂的业务生成新的变量:map模块,dbbp.net[2].mp4 33.01M
| | ├──78丨 通过变量指定少量用户实现AB测试:split_client模块,dbbp.net[2].mp4 35.10M
| | ├──79丨 根据IP地址范围的匹配生成新变量:geo模块,dbbp.net[2].mp4 26.69M
| | ├──80丨 使用变量获得用户的地理位置:geoip模块,dbbp.net[2].mp4 41.02M
| | ├──81丨 对客户端使用keepalive提升连接效率,dbbp.net[2].mp4 34.81M
| | ├──82丨 反向代理与负载均衡原理,dbbp.net[2].mp4 35.35M
| | ├──83丨 负载均衡策略:round-robin,dbbp.net[2].mp4 46.90M
| | ├──84丨 负载均衡哈希算法:ip_hash与hash模块,dbbp.net[2].mp4 44.43M
| | ├──85丨 一致性哈希算法:hash模块,dbbp.net[2].mp4 24.03M
| | ├──86丨 最少连接算法以及如何跨worker进程生效,dbbp.net[2].mp4 20.83M
| | ├──87丨 http upstream模块提供的变量,dbbp.net[2].mp4 24.23M
| | ├──88丨 http反向代理proxy处理请求的流程,dbbp.net[2].mp4 29.72M
| | ├──89丨 proxy模块中的proxy_pass指令,dbbp.net[2].mp4 27.10M
| | ├──90丨 根据指令修改发往上游的请求,dbbp.net[2].mp4 28.25M
| | ├──91丨 接收用户请求包体的方式,dbbp.net[2].mp4 29.34M
| | ├──92丨 与上游服务建立连接,dbbp.net[2].mp4 35.42M
| | ├──93丨 接收上游的响应,dbbp.net[2].mp4 40.47M
| | ├──94丨 处理上游的响应头部,dbbp.net[2].mp4 64.70M
| | ├──95丨 上游出现失败时的容错方案,dbbp.net[2].mp4 57.24M
| | ├──96丨 对上游使用SSL连接,dbbp.net[2].mp4 83.11M
| | ├──97丨 用好浏览器的缓存,dbbp.net[2].mp4 44.86M
| | ├──98丨 Nginx决策浏览器过期缓存是否有效,dbbp.net[2].mp4 36.30M
| | └──99丨 缓存的基本用法,dbbp.net[2].mp4 69.75M
| └──100-155
| | ├──100丨 对客户端请求的缓存处理流程,dbbp.net[2].mp4 35.16M
| | ├──101丨 接收上游响应的缓存处理流程,dbbp.net[2].mp4 27.21M
| | ├──102丨 如何减轻缓存失效时上游服务的压力,dbbp.net[2].mp4 47.88M
| | ├──103丨 及时清除缓存,dbbp.net[2].mp4 33.23M
| | ├──104丨 uwsgi、fastcgi、scgi指令的对照表,dbbp.net[2].mp4 59.55M
| | ├──105丨 memcached反向代理的用法,dbbp.net[2].mp4 29.90M
| | ├──106丨 搭建websocket反向代理,dbbp.net[2].mp4 55.65M
| | ├──107丨 用分片提升缓存效率,dbbp.net[2].mp4 37.72M
| | ├──108丨 open file cache提升系统性能,dbbp.net[2].mp4 40.08M
| | ├──109丨 http2协议介绍,dbbp.net[2].mp4 33.67M
| | ├──110丨 搭建http2服务并推送资源,dbbp.net[2].mp4 30.81M
| | ├──111丨 grpc反向代理,dbbp.net[2].mp4 34.48M
| | ├──112丨 stream四层反向代理的7个阶段及常用变量,dbbp.net[2].mp4 37.42M
| | ├──113丨 proxy protocol协议与realip模块,dbbp.net[2].mp4 50.62M
| | ├──114丨 限并发连接、限IP、记日志,dbbp.net[2].mp4 38.71M
| | ├──115丨 stream四层反向代理处理SSL下游流量,dbbp.net[2].mp4 57.72M
| | ├──116丨 stream_preread模块取出SSL关键信息,dbbp.net[2].mp4 28.21M
| | ├──117丨 stream proxy四层反向代理的用法,dbbp.net[2].mp4 59.26M
| | ├──118丨 UDP反向代理,dbbp.net[2].mp4 35.52M
| | ├──119丨 透传IP地址的3个方案,dbbp.net[2].mp4 36.05M
| | ├──120丨 性能优化方法论,dbbp.net[2].mp4 24.16M
| | ├──121丨 如何高效使用CPU,dbbp.net[2].mp4 41.26M
| | ├──122丨 多核间的负载均衡,dbbp.net[2].mp4 29.67M
| | ├──123丨 控制TCP三次握手参数,dbbp.net[2].mp4 25.26M
| | ├──124丨 建立TCP连接的优化,dbbp.net[2].mp4 42.85M
| | ├──125丨 滑动窗口与缓冲区,dbbp.net[2].mp4 42.53M
| | ├──126丨 优化缓冲区与传输效率,dbbp.net[2].mp4 29.44M
| | ├──127丨 慢启动与拥塞窗口,dbbp.net[2].mp4 29.45M
| | ├──128丨 TCP协议的keepalive功能,dbbp.net[2].mp4 17.74M
| | ├──129丨 减少关闭连接时的time_wait端口数量,dbbp.net[2].mp4 31.79M
| | ├──130丨 lingering_close延迟关闭TCP连接,dbbp.net[2].mp4 20.50M
| | ├──131丨 应用层协议的优化,dbbp.net[2].mp4 30.95M
| | ├──132丨 磁盘IO的优化,dbbp.net[2].mp4 30.33M
| | ├──133丨 减少磁盘读写次数,dbbp.net[2].mp4 44.96M
| | ├──134丨 零拷贝与gzip_static模块,dbbp.net[2].mp4 26.34M
| | ├──135丨 用tcmalloc优化内存分配,dbbp.net[2].mp4 37.69M
| | ├──136丨 使用Google PerfTools分析Nginx,dbbp.net[2].mp4 55.32M
| | ├──137丨 使用stub_status模块监控Nginx的状态,dbbp.net[2].mp4 42.78M
| | ├──138丨 第三方模块源码的阅读,dbbp.net[2].mp4 43.12M
| | ├──139丨 Nginx的启动流程,dbbp.net[2].mp4 27.97M
| | ├──140丨 HTTP第三方模块的初始化,dbbp.net[2].mp4 51.56M
| | ├──141丨 if指令是邪恶的吗?,dbbp.net[2].mp4 32.81M
| | ├──142丨 解读Nginx的核心转储文件,dbbp.net[2].mp4 60.83M
| | ├──143丨 通过debug日志定位问题,dbbp.net[2].mp4 84.46M
| | ├──144丨 OpenResty概述,dbbp.net[2].mp4 48.52M
| | ├──145丨 OpenResty中的Nginx模块与Lua模块,dbbp.net[2].mp4 46.21M
| | ├──146丨 如何在Nginx中嵌入Lua代码,dbbp.net[2].mp4 44.38M
| | ├──147丨 OpenResty中Lua与C代码交互的原理,dbbp.net[2].mp4 36.50M
| | ├──148丨 获取、修改请求与响应的SDK,dbbp.net[2].mp4 54.76M
| | ├──149丨 工具类型的SDK,dbbp.net[2].mp4 14.09M
| | ├──150丨 同步且非阻塞的底层SDK:cosocket,dbbp.net[2].mp4 58.09M
| | ├──151丨 基于协程的并发编程SDK,dbbp.net[2].mp4 45.20M
| | ├──152丨 定时器及时间相关的SDK,dbbp.net[2].mp4 24.21M
| | ├──153丨 share,dbbp.net[2].mp4 61.67M
| | ├──154丨 子请求的使用方法,dbbp.net[2].mp4 40.01M
| | └──155丨 基于OpenResty的WAF防火墙,dbbp.net[2].mp4 94.74M
Nginx配置文件详解以及Nginx的启停控制,这里是精华
安装完成Nginx服务器之后我们需要来学习如何启动,停止,重启Nginx服务。在Linux平台下有着不止一种的控制Nginx启停的方法 下面我们来详细的学习一下。Nginx的信号控制在控制nginx中有一类是通过信号控制的,因此我们来先介绍一下Nginx服务器的信号控制.在nginx服务运行时,会保持一个主进程和多个worker process 工作进程, 我们可以通过给主进程发送信号,就可以控制服务的启停了,那么我们如何去给服务发送信号?发送信号我们必须要知道服务的PID, 那么我们就来获取一下他的进程ID第一种直接利用ps 查看详情 :第二种 我们直接查看文件存储地址查看: 此操作需要先开启pid的存储才可以生效找到我们的pid之后那么可以开始我们下一步的操作 再开始之前先了解一下可以接受的信号有哪些,各自有什么含义向Nginx服务进程发送信号也有两种方式:同样我我们可以使用动态的PIDkill 信号 filepath (filepath指的是我们的Nginx.PID的路径)nginx服务的启动在linux平台下,启动Nginx服务器直接运行安装目录下的Sbin目录中的二进制文件即可.具体命令在sbin目录下:这里主要讲下二进制文件的用法这是我们工作中常常用到的一些指令nginx服务停止停止我们的Nginx有两种方式**Nginx服务的重启 **当我们Nginx服务加入新的模块后,如果希望当前的Nginx服务应用新的配置或者使用新的模块生效,就需要重启Nginx服务。当然我们可以先关闭Nginx服务然后使用新的Nginx配置文件重启Nginx服务, 这里我们讲的是平滑的重启Nginx服务平滑是重启的一个过程,Nginx服务进程收到信号后先读取我们新的配置文件,如果我们新的配置文件正常,那么启动新的Nginx服务,然后平滑的关闭旧的进程服务,如果新的Nginx服务配置文件有问题那么将显示错误然后任然使用旧的Nginx使用以下命令可以做到Nginx的平滑重启Nginx服务的升级如果我们需要对当前的Nginx服务进行升级 ,应用新的模块,最简单的方式是停下来,然后开启新的Nginx服务,那么给我们的用户体验是非常差的,会导致用户在一段时间内无法访问我们的服务器为了解决这个问题,Nginx提供了平滑升级的方案过程如下:为了实现nginx服务器的平滑升级,新安装的服务器路径应该和旧的一致。因此建议用新安装的服务器之前先备份一下我们的旧nginx服务器,如果由于种种原因不能保持新旧客户端路径一致则可以做一下操作,将旧的服务器路径更改为新的路径,新的服务器放入旧的路径中Nginx服务接受到USR2的信号后,首先将旧的Nginx。pid文件后面添加一个.oldbin变成了,nginx.pid.oldbin 然后执行新版本的Nginx服务器的二进制文件启动服务,如果启动成功那么我们将会有两个Nginx服务在提供服务之后需要向旧的发送WINCH信号,使旧的nginx服务平缓的停止并删除nginx.pid.oldbin文件 在发送WINCH信号前我们可以随时停止新的服务从目录中我们不难看出所有的配置文件都放在conf目录下主要的配置文件为 Nginx.conf那么下面我们带领你来去详细的解读一下其中的配置详情注:近期持续更新有关nginx的知识点,欢迎大家关注!
Nginx核心配置分析
基于域名的虚拟主机基于端口的虚拟主机#error_log logs/error.log notice;**logo声明 路径及文件名 日志标识**nginx日志切割crontab 定时执行,切割日志脚本Linux Crontab 定时任务创建 cut_ngix_log.sh 脚本不区分大小写匹配任何以 gif、jpg、jpeg 结尾的请求,并将该请求重定向到 /logo.png 请求区分大小写匹配以.txt结尾的请求,并设置此location的路径是 /usr/local/nginx/html/ 。也就是以.txt结尾的请求将访问 /usr/local/nginx/html/ 路径下的txt文件root实际访问文件路径会拼接URL中的路径alias实际访问文件路径不会拼接URL中的路径示例如下:在nginx中配置proxy_pass代理转发时,如果在proxy_pass后面的url加/,表示绝对根路径;如果没有/,表示相对路径,把匹配的路径部分也给代理走。假设下面四种情况分别用 进行访问。代理到URL: 第二种(相对于第一种,最后少一个 / )代理到URL: 代理到URL: 第四种(相对于第三种,最后少一个 / )代理到URL:
Nginx是什么,有什么优点
nginx的宏定义#define ngx_align(d, a) (((d) + (a – 1)) & ~(a – 1)),作用是什么?
align这是一个常见的宏\R\N功能:把d已a为最小单位对齐。d为要操作的目标,a为对齐单位,2的n次方。\R\N用途:一般用于内存、数据对齐。\R\N简介:((d) + (a – 1))的结果就是如果d小于a的低几位(log2 a位)部分如果不是0,就规整为a。用& ~(a – 1)操作,把低位设成0。
评论0