NginX笔记提纲

看Nginx也有几星期了,还没看完的还是很多,事件模型的具体实现、accept_mutex等、http框架等。一边看书,也一边旁敲侧击地搜罗了其他知识。因此,打算一边学习,一边按照自己的流程和理解简单写点总结,提纲如下。

1  NginX 简介

Igor Sysoev和F5项目

NginX特点:高并发,低内存,少进程,事件驱动,配置人性化。

各服务器比较

基于模块化的系统架构:核心框架、HTTP框架、事件框架(一切都充斥着“中央集权”的味道)

进程模型:master只负责管理worker,模块由worker运行; 循环。

src目录总览              core和os

http  event   mail  etc

2  编译和使用

ngx_module.c 数组

make install/ upgrade (见各Makefile)

平滑升级是几个意思

为了一个Warning修改Makefile

信号-USR2 和 各种-SIGXXX

3  配置文件的书写,性能调优

4  简单HTTP模块的组成

一个乱七八糟的mytest

5  NginX解析配置文件的流程

tyoedef struct {...} my_conf_t;

ngx_module_t

ngx_http_module_ctx_t    ngx_command_t [...]

8个回调                            数组

(create and merge)          set和offset

struct{

* main_conf

* srv_conf

* loc_conf

}和offsetof宏

6  针对4-5的实例

涉及str_t,array_t

    编写过程中遇到的烦心事

            强制转化

            static写不写

            type检查是自动的

           弹出了文件而非页面

7  事件驱动

select

epoll

libev

8   Nginx中基于epoll的事件模块的设计

ngx_event源码

instance标志位

9  内存管理

mallloc和memalign原理

buddy和slab简述

ngx_palloc源码

ngx_slab源码,以及实际用到slab的地方

10  陶辉老师访谈总结

时间: 2024-10-17 06:38:32

NginX笔记提纲的相关文章

[Nginx笔记]关于线上环境CLOSE_WAIT和TIME_WAIT过高

运维的同学和Team里面的一个同学分别遇到过Nginx在线上环境使用中会遇到TIME_WAIT过高或者CLOSE_WAIT过高的状态 先从原因分析一下为什么,问题就迎刃而解了. 首先是TIME_WAIT: 理解一下TIME_WAIT状态产生的原因,这个问题已经被很多很多的书说烂了,但是为什么很多人还是不能解决,究其原因还是因为 大多数都是学术派,并没有真正的遇到过这样的问题,因为TIME_WAIT大量产生很多都发生在实际应用环境中. TIME_WAIT产生的原因还是因为在通讯过程中服务端主动关闭

Nginx笔记02-nginx常用参数配置说明

nginx的主配置文件是nginx.conf,这里主要针对这个文件进行说明 1.主配置文件nginx.conf 2.nginx配置文件的结构 从上面的配置文件中我们可以总结出nginx配置文件的基本结构 2.1 全局块 全局块是默认配置文件从开始到events之间的内容,主要设置一些影响nginx服务器运行的配置命令,作用域是nginx服务器全局,通常包括nginx的用户和组,允许生成的work process数,nginx进程pid文件,日志的路径和类型.配置文件引入等 2.2 events块

黑马23期Linux+Nginx 笔记(2017年8月25日19:12:50)

主要是介绍在Linux环境下搭建nginx的过程. 笔记下载: 链接:https://pan.baidu.com/s/1o7KvxB8 密码:7xki

Nginx笔记之Rewrite规则

Nginx中Rewrite规则主要用于实现URL的重写.通过Rewrite规则,可以实现规范的URL.根据变量来做URL转向及选择配置. Rewrite规则相关命令 break if return rewrite set break命令 break的作用即完成当前规则集,后续不再处理rewrite命令. if ($slow) { limit_rate 10k; break; } if命令 if条件判断,判断一个条件是否符合,符合就执行代码段内的命令.Nginx内的if命令不支持嵌套,也不支持多一

nginx笔记2-负载均衡

负载均衡实现方式分为两类:1硬件类,2软件类. 硬件类:F5(这是一种硬件,并不是刷新啊,不要误解)  优点:非常快,可靠性高,并发量大.缺点:太贵,成本高,不方便,最致命的是不能将动态请求和静态请求分离. 软件类:1.apache http server:可靠性高,可以动静请求分离,但是,效率低.(少用) 2.linux的LVS是基于Linux系统IP层面的负载均衡,可靠性非常高,简单易用,并发量大,缺点:最致命的是不能将动态请求和静态请求分离. 3.nginx 优点:非常快,可靠性高,并发量

nginx笔记3-负载均衡算法

1.nginx测试:先从官网下载nginx 官网网址为:http://nginx.org/  然后找到stable version的版本下载,因为这版本是最稳定的,不要去下载最新,因为不稳定,如下图: 下载解压后即可 这里还要对解压后的nginx的conf目录下的nginx.conf配置如下图: 上图中的proxy_pass http://test-service;意思是只有test-service下面的tomcat才能通过我的反向代理. 随后我们启动两个tomcat,把笔记二的工程分别放在两个

nginx笔记4-负载均衡带来的问题以及解决办法

接着笔记3,将笔记三的改造一下,现在分别启动两个Tomcat,在页面获取session.如图所示: tomcat2的session: tomcat1的session: 根据上图发现,每个tomcat取到的session不一样.因此nginx负载均衡带来的问题就是session不一致,假设用户登陆后请求分发到Tomcat1,下一次请求到tomcat2的话, 那么每一次请求都会要求用户登陆.这必然不行的. 解决session共享问题办法有: 1.应用服务器(即Tomcat)之间进行session同步

nginx笔记5-双机热备原理

1动静分离演示: 将笔记3的Demo改造一下,如图所示: 改造完成后,其实就是在网页上显示一张图片 现在启动Tomcat运行起来,如图: 可以看到图片的请求是请求Tomcat下的图片. 现在,通过把静态资源放在nginx的html目录下(必须和原来工程请求路径一样,如下第一张图),实现动静分离,首先先配置nginx.conf文件,如下面第二张图: 现在我们可以重新启动nginx.重新请求.如图所示: 这是通过ngnix下的请求,首先我们先删除Tomcat下的静态资源图片,再请求如下图: 可以看出

Nginx笔记

nginx 的安装 下载地址: http://nginx.org/download/nginx-1.4.2.tar.gz 安装准备: nginx依赖于pcre库,要先安装pcre yum install pcre pcre-devel cd /usr/local/src/ wget http://nginx.org/download/nginx-1.4.2.tar.gz tar zxvf nginx-1.4.2.tar.gz cd nginx-1.4.2 ./configure --prefix