Nginx 介绍 Nginx (engine x) 是一个高性能的HTTP和反向代理服务器,也是一个IMAP/POP3/SMTP服务器。 Nginx是一款轻量级的Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,并在一个BSD-like 协议下发行。其特点是占有内存少,并发能力强OpenResty介绍 OpenResty 是一个基于 Nginx 与 Lua 的高性能 Web
转载 2024-03-25 18:27:10
172阅读
nginx将一个HTTP请求分为11个处理阶段,这样做让每个HTTP模块可以仅仅专注于完成一个独立,简单的功能。而一个请求的完整处理过程可以由多个HTTP模块共同合作完成。可以极大的提高多个模块合作的协同性,可测试性,可扩展性。换言之,nginx在处理每一个http请求,和配置文件上的顺序没有关系。post-read接受到完整的http头部后,读取请求内容阶段nginx读取并解析完请求头之后就立
转载 2024-02-17 13:10:12
25阅读
配置nginx的单向sslNginx配置SSLNginx配置示例(单向)cp /etc/pki/ca_test/server/server.* /usr/local/nginx/conf/ { listen 443 ssl; server_name www.aminglinux.com; index index.html index.php; root /data/
转载 2024-05-31 06:37:09
35阅读
typedef enum { NGX_HTTP_POST_READ_PHASE = 0, // 接收到完整的HTTP头部后处理的阶段 NGX_HTTP_SERVER_REWRITE_PHASE, // URI与location匹配前,修改URI的阶段,用于重定向 NGX_HTTP_FIND_CONFIG_PHASE, // 根据URI寻找匹配的locati
PV访问量(Page View),即页面访问量,每打开一次页面PV计数+1,刷新页面也是。 高手对pv的解释是,一个访问者在24小时(0点到24点)内到底看了你网站几个页面。这里需要强调:同一个人浏览你网站同一个页面,不重复计算pv量,点100次也算1次。说白了,pv就是一个访问者打开了你的几个页面。 IP访问数指独立IP访问数,计算是以一个独立的IP在一个计算时段内访问网站计算为1次IP访问数。
转载 2024-03-18 10:50:33
48阅读
接着上回的博客,回顾一下http模块执行的11个阶段,我们继续下面的内容。precontent阶段 : 按序访问资源的try_files模块功能:依次试图访问多个url对应的文件(由root或者alias指定),当文件存在时直接返回文件内容,如果所有文件夹都不存在,按照最后一个url或者code返回。location / { try_files $uri $uri/ /inde
转载 2024-04-09 02:17:13
44阅读
nginx和lvs一、nginx1.优点2.ngx_lua3.Nginx线程模型二、lvs1.优点2.IPVS3.内核layer-7交换机三、lvs和nginx的配合使用 一、nginx1.优点nginx作为一个强大的WEB服务器软件,有着高性能、高并发性和低内存占用的特点,拥有着强大的反向代理功能。使用nginx的配置文件简单、成本低廉、支持Rewrite重写、内置有健康检查功能、节省带宽且稳
转载 2024-03-18 21:06:15
52阅读
Nginx的stream模块提供了TCP负载均衡的功能,最初的stream模块比较简单,在nginx-1.11.4后也开始采用类似HTTP模块中分阶段处理请求的方式。stream模块的处理阶段在ngx_stream.h中定义了stream模块的7个阶段。如下面所示typedef enum { NGX_STREAM_POST_ACCEPT_PHASE = 0, NGX_STREAM
转载 2024-04-11 11:34:19
64阅读
1.content_by_lua_block作用:在http内容处理阶段生成数据 server { listen 80; server_nam
原创 2023-06-20 09:19:04
298阅读
前言 处理HTTP请求的11个阶段前面分析了nginx如何读取一个HTTP请求、如何查询到HTTP对应的配置,本节分析如何处理HTTP请求。nginx将处理HTTP请求划分为了11个阶段,原因在于nginx是一个重度模块化的系统,划分为不同阶段以后,不同的模块可以根据自己的需求在相应的模块中添加自己的处理函数。简单看看这11个模块的定义:typedef enum { // 在接收到完整的
  本文主要介绍在原有nginx基础上安装Lua模块(lua-nginx-module),及安装OpenResty其他组件(以限流模块 lua-resty-limit-traffic 为例)的详细操作,并在此基础上介绍第三方Lua lib(以cjson为例)的安装方法。如读者需要全新安装nginx,可考虑使用OpenResty的组合安装包一次性完成安装,详见:http://openresty.
转载 2024-03-13 08:59:35
78阅读
一、nginx为什么高性能epoll多路复用1.传统模型:基于缓冲区的传输 首先,假设这里有两台主机进行通信 client ----- server 当client要向server传输数据的时候:数据不会直截了当地发到server处,而是先进行一个socket.write操作,并将要发送的数据包放到缓冲区中。 如果有一个数据包要发送,这时候缓冲器被占满了,那么tcp/ip会先将缓冲区里面的数据全部
转载 2024-02-20 12:30:53
87阅读
对刚接触Ngx_lua的读者来说,可能会存在下面两个困惑。1、Lua在Nginx的哪些阶段可以执行代码?Lua在Nginx的每个阶段可以执行哪些操作?2、只有理解了这两个问题,才能在业务中巧妙地利用Ngx_Lua来完成各项需求。Nginx的11个执行阶段,每个阶段都有自己能够执行的指令,并可以实现不同的功能。Ngx_Lua的功能大部分是基于Nginx这11个执行阶段开发和配置的,Lua代码在这些指
原创 精选 2018-12-17 18:06:25
10000+阅读
4点赞
上篇文章中介绍了nginx的一种waf——naxsi,其中说到Nginx的执行阶段,这篇文章接上在了解nginx的执行阶段前,先看一个例子对echo不熟悉的,可以先看文章Nginx调试必备了解下echo扩展回到上面这个例子,在server块中配置这样的location,你觉得输出是什么样子?按照正常的逻辑,输出应该是32 56,我们请求下,看下nginx处理的结果两次输出都是56,颠覆认知。这就是
原创 2021-03-16 19:34:18
253阅读
在了解nginx的执行阶段前,先看一个例子对echo不熟悉的,可以先看文章Nginx调试必备了解下echo扩展回到上面这个例子,在server块中配置这样的location,你觉得输出是什么样子?按照正常的逻辑,输出应该是32 56,我们请求下,看下nginx处理的结果两次输出都是56,颠覆认知。这就是因为set和echo处在nginx不同的执行阶段,在nginx中,处在不同阶段的配置,和配置文件
原创 2021-03-10 15:23:49
250阅读
nginx处理请求的11个阶段
原创 2021-04-21 20:57:35
507阅读
使用configure命令配置构建。它定义了系统的各个方面,包括允许nginx用于连接处理的方法。最后,它会创建一个Makefile。 该configure命令支持以下参数:–help打印帮助信息。–prefix=path定义将保留服务器文件的目录。此相同目录还将用于设置的所有相对路径 configure(库源路径除外)和nginx.conf配置文件中。/usr/local/nginx默认情况下设
Nginx简介 Nginx是一款开源代码的高性能HTTP服务器和反向代理服务器,同时支持IMAP/POP3/SMTP代理服务Nginx由内核和模块组成,完成工作是通过查找配置文件将客户端请求映射到一个location block(location是用于URL 匹配的命令),location配置的命令会启动不同模块完成工作。 Nginx模块分为核心模块,基础模块和第三方模块。
转载 2024-05-25 21:19:51
327阅读
# 实现Dockerfile多阶段构建Nginx教程 ## 一、整体流程 以下是实现Dockerfile多阶段构建Nginx的步骤: | 步骤 | 描述 | | ---- | ---- | | 1 | 创建一个用于构建Nginx镜像的Dockerfile | | 2 | 在Dockerfile中定义多个阶段,每个阶段完成特定的任务 | | 3 | 第一个阶段用于编译Nginx的源代码 | |
原创 2024-03-24 03:13:23
109阅读
什么是模块化设计?“没有统一的定义”。在20世纪50年代,欧美一些国家正式提出“模块化设计”的概念,把模块化设计提高到理论高度来研究,。目前,模块化设计的思想已经渗透到很多领域。在计算机领域,针对程序设计,常见的说法是把“模块化设计”定义为“以功能块为单位进行程序设计,实现其求解算法的方法”。从这个一般提法中,我们可以看到几层意思。第一,“功能块”是对模块的描述,一个模块就是一个功能,应该只负责一
  • 1
  • 2
  • 3
  • 4
  • 5