文章分类 - nginx
摘要:nginx动态模块 不使用动态模块编译:首先我们下载完nginx源码后,我们使用configure并加入一些模块和第三方模块。这些模块通常是和nginx框架在一起的。通过编译的方式都会编译到nginx的二进制文件中 动态模块编译:经过编译安装后不仅生成了nginx二进制文件,同时还生成了动态模块文件
阅读全文
摘要:nginx容器 nginx哈希表 每个元素会顺序的放置到连续的内存中 nginx哈希表只应用在静态不变的内容上。在我们运行过程中这个哈希表不会出现增加和删除的操作。当我们nginx启动的时候就可以确定hash表中有多少个元素。 bucket size设置64或128,一般为64就可以了。 红黑树 红
阅读全文
摘要:nginx连接池 nginx中每一个worker进程都有一个独立的ngx_cycle_t这样的数据结构 其中有三个数组,connection_n、read_events、write_events connection_n这就是连接池 这个连接池的大小有一个配置项控制。在Core functional
阅读全文
摘要:nginx内存池 在ngx_connection的结构体中有一个ngx_pool_t成员变量,这个变量对应了当前连接使用的内存池。内存池可以通过connection_pool_size的配置项类配置 连接内存池:每当我们有一个TCP连接的时候,这个TCP连接可能会运行很多个HTTP请求,连接没有关闭
阅读全文
摘要:nginx模块 nginx模块我们首先要注意四点: 首先模块是编译进nginx二进制文件中的 这个二进制模块提供了那些配置项 模块是什么时间使用的(有些模块编译之后就可以使用,有些模块需要特定的配置才能使用) 这个模块提供了那些变量 下面使用gzip压缩模块做说明: 官网链接:http://ngin
阅读全文
摘要:nginx是一个事件驱动的框架,所谓的事件主要指的是网络事件。nginx的每个连接对应两个网络事件,一个读事件;一个写事件。 网络事件 主机A是我们家里的电脑,主机B是我们的nginx服务器 应用层中我们发送了一个GET请求。 传输层中我们的浏览器打开了一个端口记录下来,同时nginx打开的端口(如
阅读全文
摘要:nginx请求处理流程 nginx分为三种流量web、TCP、Email的流量 流量进入nginx以后会交给三个状态机处理分别是:传输层状态机、HTTP状态机、Mail状态机,正好对应三种流量。 当我们使用反向代理和静态资源是,它会去找静态资源和磁盘缓存;这用一个问题,当我们的内存不能完全缓存文件的
阅读全文
摘要:安装openResty OpenResty官方站点:http://openresty.org/en/ 安装过程 # 下载 wget https://openresty.org/download/openresty-1.19.3.2.tar.gz # 解压 tar xf openresty-1.19.
阅读全文
摘要:SSL/TLS通用模型 SSl(Secure Sockets layer)现在我们通常使用TLS(Transport Layer Security) 应用层是http协议,也是七层中的协议,而我们的SSL/TLS在表示层做的安全加密。在TCP没有感知的情况下完成了加密 TLS安全密码套件 密钥交换:
阅读全文
摘要:为什么要使用GoAccess分析Access日志 我们可以通过Access日志分析定位问题,也可以用它来分析用户的运营数据 但是想要实时分析Access日志时比较困难的 GoAccess工具可以以图形化的方式,通过websock协议实时的把Access日志的变化实时的反应到浏览器中方便我们分析问题。
阅读全文
摘要:为什么使用反向代理 上游服务器通常都要处理各种复杂的业务逻辑,并且强调开发效率,所以它的性能并不是特别的高。 我们使用nginx反向代理以后,我们可以由一台nginx把请求按照负载均衡算法代理给多台上游服务器工作。这样我们就实现了水平扩展,在用户没有感知的情况下,我们添加更多的上游服务器来提升我们服
阅读全文
摘要:搭建静态web服务器 我们要搭建的网站如下图: 下载静态页面代码 wget http://dlib.net/files/dlib-19.22.tar.bz2 # 解压 bzip2 -d dlib-19.22.tar.bz2 tar xf dlib-19.22.tar # 创建访问目录 mkdir -
阅读全文
摘要:nginx配置语法 配置文件由指令与指令块构成 每条指令以;分号结尾,指令与参数之间使用空格符号分隔 指令块以{}大括号将多条指令组织在一起 include语句允许组合多个配置文件以提升可维护性 使用#号添加注释,提高可读性 使用$号使用变量 部分指令的参数支持正则表达式 配置参数:时间单位 ms:
阅读全文
摘要:nginx安装的方式 通过源码的方式(推荐使用) 使用操作系统自带的安装工具yum、apt等 使用系统自带工具安装存在一个问题。 nginx的二进制文件会把模块直接编译进来的,而nginx的官方模块并不是默认都是开启的,如果使用其它的第三方模块就必须使用编译的方式,才能添加第三方模块的功能。 编译n
阅读全文
摘要:Nginx的优势 高并发,高性能 可扩展性好 高可用性 热部署 BSD许可证 Nginx的主要应用场景 静态资源服务器:通过本地文件系统提供服务 反向代理服务:缓存、负载均衡 API服务:OpenResty 用户的请求进入后会首先去找nginx,nginx再将请求转发到应用服务,而应用服务中有不变的
阅读全文