nginx学习
曾柯
keep learning
展开
-
Nginx学习之路(二)NginX的main函数基本流程
之前介绍了nginx的由来和基本操作,现在开始深入学习nginx,本人觉得学习这种工程类的优秀作品一定要从源码学习才能学得深入,而学习c语言编写的代码个人感觉尽量从main函数入手,因为main()中一般会将整个软件的框架的大致思路表现出来,了解了整体框架然后再针对某一块深入学习效率可能就会更高一些,今天就来聊一聊nginx中的main(),也就是说一下main函数到底做了哪些工作。再分享一点我的...原创 2018-04-01 21:40:43 · 989 阅读 · 0 评论 -
Nginx学习之路(九)Nginx中的事件驱动过程详解-----connection事件的注册过程
在上一篇文章Nginx学习之路(八)Nginx中的事件驱动过程详解-----以listenfd注册过程为例原创 2018-05-15 21:28:02 · 601 阅读 · 0 评论 -
Nginx学习之路(八)Nginx中的事件驱动过程详解-----以listenfd注册过程为例
Nginx的高效得益于它的事件驱动机制,整个事件驱动机制基本框架就是linux下的select,poll,epoll这几个IO多路复用模式,但是nginx绝不单单只是使用它们这么简单,今天以epoll模式为例,从nginx最开始的listenfd的监听的过程来说明nginx是怎么实现的事件驱动。首先需要说明的是,整个事件模型(event)是一个模块(module),module在nginx中是一个...原创 2018-05-15 21:13:16 · 1523 阅读 · 0 评论 -
Nginx学习之路(七)NginX中的内存管理之---Nginx中的内存池
上一篇文章Nginx学习之路(六)NginX中的内存管理之---Nginx中的内存对齐和内存分页说到了Nginx中的内存对齐机制和内存分页机制,今天就来说下Nginx中的内存池,内存池是一个使用非常广泛的技术,在web服务器的高并发情况下可能存在平凡的malloc()和free()过程,通过内存池的方式可以将这一过程的开销极大程度的减少,Nginx的内存池的设计相比经典的sgi stl中的allo...原创 2018-04-13 16:26:31 · 1663 阅读 · 0 评论 -
Nginx学习之路(六)NginX中的内存管理之---Nginx中的内存对齐和内存分页
Nginx由于极高的性能受到大家的追捧,而Nginx的高性能与它优秀的内存管理方式是分不开的,今天就来聊一聊Nginx中的内存对齐和内存分页。先说下Nginx中的内存对齐,Nginx中的内存对齐机制是它高性能的关键因素之一,先说点基础的东西,什么是内存对齐呢? 内存对齐是操作系统为了快速访问内存而采取的一种策略。那么为什么要内存对齐呢?因为处理器读写数据,并不是以字节为单位,而是以块(2,4,8,...原创 2018-04-13 16:21:20 · 971 阅读 · 0 评论 -
Nginx学习之路(一)NginX的基本配置和操作
最近在学习NginX,因此来写个博客记录一下学习过程中的关键部分,以便于以后复习和总结。首先,就先来说明一下Nginx的一些基本操作。在说操作之前,还是要简单介绍下Nginx,Nginx 是俄罗斯人编写的十分轻量级的 HTTP 服务器,Nginx,它的发音为“engine X”,是一个高性能的HTTP和反向代理服务器,同时也是一个 IMAP/POP3/SMTP 代理服务器。那么Nginx有哪些优点...原创 2018-03-28 20:43:26 · 666 阅读 · 0 评论 -
Nginx学习之路(五)NginX的主进程循环
在上一篇文章Nginx学习之路(四)NginX的子进程主循环中,说明了nginx的worker进程主要的任务,今天,就来讲解下nginx的主进程(worker进程)的主要任务。首先要先区分一下概念,虽然nginx也是一个reactors式的服务器(用陈硕老师的话来说就是reactors in process),但它和主从reactor式服务器又有一定的区别,区别主要就是这个master进程,这个m...原创 2018-04-10 16:10:24 · 1282 阅读 · 0 评论 -
Nginx学习之路(四)NginX的子进程主循环
在上一篇文章Nginx学习之路(三)NginX的子进程生产过程中说道了生产子进程过程中的proc处理过程,也就是这段代码: //调用传入的回调函数,子进程的正式主循环开始,回调函数的实体是ngx_worker_process_cycle proc(cycle, data); 今天就来介绍一下这个proc的具体过程:首先,proc函数是一个随ngx_spawn_process()...原创 2018-04-09 21:14:31 · 731 阅读 · 0 评论 -
Nginx学习之路(三)NginX的子进程生产过程
上一篇文章中讲了Nginx的main函数的主要流程,这次就继续上次来说明一下Nginx中的worker进程是怎么生成的。从main函数的//进入master-worker工作模式,开始创建多个Nginx的子进程。并进入进程循环。 ngx_master_process_cycle(cycle);开始进入生成子进程的过程//开始生成worker进程 ngx_start_work...原创 2018-04-09 13:21:00 · 1102 阅读 · 0 评论 -
Nginx学习之路(十)编写一个Nginx的模块-----基本的模块编写步骤
在Nginx上做二次开发大部分时候都是做的模块(module)的开发,今天就来介绍一下Nginx中的module开发的基本步骤,先来认识一下Nginx中的module。一个基本的module框架(叫框架可能不太准确,这里的意思是需要编写的地方)由以下3个部分组成:首先是必须要实现的一个command结构体struct ngx_command_s { ngx_str_t ...原创 2018-05-23 21:46:18 · 6671 阅读 · 4 评论