Nginx将第三方模块编译到nginx中的方法:将源代码文件和config放在一个目录中,然后执行configure --add-module=PATH (以上文件的地址) ,就可以在执行正常编译安装流程时完成nginx编译工作;通过编写配置mytest模块,可以在http{},server{},location{}块中声明配置mytest,如location /mytest/ {
my
转载
2024-02-26 20:04:35
143阅读
一、HTTPS简介1.https简介HTTPS其实是有两部分组成:HTTP + SSL / TLS,也就是在HTTP上又加了一层处理加密信息的模块。服务端和客户端的信息传输都会通过TLS进行加密,所以传输的数据都是加密后的数据2.https协议原理首先,客户端与服务器建立连接,各自生成私钥和公钥,是不同的。服务器返给客户端一个公钥,然后客户端拿着这个公钥把要搜索的东西加密,称之为密文,并连并自己的
转载
2024-07-29 21:36:39
32阅读
一、设定一个目录,里面两个文件建立目录~/ngx_http_echo_module
建立下面文件:
~/ ngx_http_echo_module
|--- ngx_http_echo_module.c
|--- config二、编写ngx_http_echo_module.c文件 /*
* Copyright (C) Eric Zhang
*/
#include <ngx_config.
转载
2024-04-29 14:53:51
71阅读
nginx的模块分为4个大类型的模块:事件模块HTTP模块邮件代理相关的mail模块其他模块开发HTTP模块流程这里的HTTP模块是最简单最经常编写的模块,开发一个完整的简单的HTTP模块需要下面几个步骤(以模块名为ngx_http_mytest_module为例):1 编写config文件(这是为了让nginx在configure过程能找到编写的模块)下面是编写具体的模块代码结构2 编写模块结构
转载
2024-05-24 12:58:30
99阅读
缘由在前段时间我们进行服务器迁移的过程中 由于使用了多服务器 增加了反向代理,导致页面在另一台机器打不开。原因是因为我们触发了一个nginx默认规则,这里记录一下仅供大家参考。演示环境基础信息域名:www.testnginx.com 目录结构:.
├── a
│ └── index.html
└── a.html注解:在根目录,我们有一个 a.html 和 a的文件夹n
简介:Flask中的蓝图旨在针对这些情况:把一个应用分解成一系列的蓝图。对于大型的应用是理想化的;一个项目能实例化一个应用, 初始化一些扩展,以及注册一系列的蓝图。以一个 URL 前缀和/或子域在一个应用上注册蓝图。 URL 前缀/子域名中的参数即成为这个蓝图下的所有视图函数的共同的视图参数(默认情况下)。在一个应用中用不同的 URL 规则多次注册一个蓝图。通过蓝图提供模板过滤器、静态文件、模板和
决定自己的HTTP模块如何起作用一个HTTP请求会被许多个配置项控制,这是因为一个HTTP请求可以被许多个HTTP模块同时处理,所以肯定会有一个先后顺序的问题。我们面临的问题:
我们希望自己的模块在哪个时刻开始处理请求?我们是希望自己的模块对到达Nginx的所有请求都起作用,还是只对某一类请求(如URI匹配了location后表达式的请求)起作用?定义第一个HTTP模块介入Nginx的方式
转载
2024-04-07 14:06:37
206阅读
在上一篇文章「系统架构」Nginx调优之变量的使用(2)中我们介绍了自定义变量和内置变量,下面我们继续接着介绍Nginx中变量的可见性和动态内置变量。变量的可见性nginx中的变量虽然不全是全局变量,但每一个变量都是全局可见的。所谓全局可见,是指不管变量定义在配置文件的哪个地方,它在整个配置文件中都是可见的,但这个并不表示他是全局变量。举个例子:location /a { retu
转载
2024-03-20 10:20:33
72阅读
文章目录意义实现一个自己的模块能用在哪些方面呢自定义模块首先需要明确下面几个问题用到的技术nginx 中配置文件如何用代码结合nginx 解析http 的顺序和对应的函数节点(客户端)的统计全部代码如下 意义HTTP 过滤模块与普通模块的功能是i完全不同的,下面先回顾一下HTTP模块有哪些功能。 首先HTTP框架为HTTP请求的处理过程定义了11个阶段,相关代码如下:typedef enum {
转载
2024-03-23 11:20:25
32阅读
每次都很容易忘记Nginx的变量,下面列出来了一些常用$remote_addr //获取客户端ip
$binary_remote_addr //客户端ip(二进制)
$remote_port //客户端port,如:50472
$remote_user //已经经过Auth Basic Module验证的用户名
$host //请求主机头字段,否则为服务器名称,如:blog.sakmon
转载
2024-03-29 20:28:43
51阅读
目录一、创建扩展模块目录二、创建config文件三、创建ngx_http_hello_module.c文件四、修改Nginx.conf文件五、编译Nginx源码六、浏览器访问从前面的篇章中,我们基本了解了Nginx的运行原理。Nginx整个框架都是通过模块的方式,对整个系统进行解耦和扩展。在HTTP的http/modules/目录下,有非常多的关于HTTP协议的模块,每个模块都有不同的功能。&nb
转载
2024-02-26 20:34:22
158阅读
Nginx是一款功能强大的服务器,它可以部署出高性能的集群,它允许工程师编写出属于自己的功能模块,建议读者在编写自己的功能模块前,先对Nginx进行比较全面的了解。分享一个比较好的网盘链接:https://pan.baidu.com/s/1hs26ZZY介绍一下我写的功能模块的背景:这是个能通过Nginx来实时监控用户访问我们接口的功能模块,由于实际部分比较复杂,代码量比较大,现在这展示的是简化了
转载
2024-03-11 20:15:47
127阅读
今天开始介绍Nginx框架相关内容。Nginx将所有功能进行模块化区分,按照功能统一编排,例如:事件模块,HTTP模块,邮箱模块,配置文件模块等。对于复杂模块,又支持子模块定义,例如HTTP模块中有ngx_http_header_filter_module等。Nginx为这些模块都进行统一的封装,保证接口的统一化。接下来我们来学习一下Nginx优良设计。一、Nginx架构我们先来看一下,Nginx
转载
2024-02-16 10:30:00
59阅读
不是第一次写nginx的自定义模块了,之前有写过根据POST数据转发请求的模块(参见nginx自定义模块编写-根据post参数路由到不同服务器),不过上次写的是处理模块,而这次写的是过滤模块,还是有一些区别的。在正式开始前,先说一下写nginx自定义模块要注意的几个点:上次的文章提到,在函数里用r-connection.log打印log会core,今天发现是ngx头文件和lua头文件引用顺序的问题
转载
2024-03-06 03:31:27
151阅读
在博客提到的Nginx 模块自主开发四: 模块数据结构一个很重要的数据结构ngx_module_s,所有的模块都是用这个结构体来表示。ngx_module_t结构体模块又分为ngx_core_module_t和ngx_xxx_module_t,而在ngx_module_t中会包含这两个结构,只不过不同类的模块包含不同的结构,一般会 用ctx表示,ngx_module_t又用type这个域用来表示在
转载
2024-03-26 20:14:03
61阅读
不是第一次写nginx的自定义模块了,之前有写过根据POST数据转发请求的模块(参见nginx自定义模块编写-根据post参数路由到不同服务器),不过上次写的是处理模块,而这次写的是过滤模块,还是有一些区别的。在正式开始前,先说一下写nginx自定义模块要注意的几个点:上次的文章提到,在函数里用r-connection.log打印log会core,今天发现是ngx头文件和lua头文件引用顺序的问题
转载
2024-05-07 19:11:23
69阅读
nginx的log日志分为access log 和 error log其中access log 记录了哪些用户,哪些页面以及用户浏览器、ip和其他的访问信息error log 则是记录服务器错误日志错误日志的形式如下:10.1.1.1 - - [22/Aug/2014:16:48:14 +0800] "POST /ajax/MbpRequest.do HTTP/1.1" 200 367 "-" "
转载
2024-03-05 22:17:19
71阅读
启示这篇文章的风格给了我读书上很大的启示。学习一门技术也好,读书也好,总是局限于边边角角,看似付出了很多,但是到头来总感觉还是没学过一样。没有一个完整的宏观意义上的把控,所以很可能会出现学了又忘,忘了再学的死循环。而这篇文章,开篇就给了一张图,一下子就把流程上的东西很暴露了出来,后面的内容也是围绕着这个流程不断地推进,所以整篇文章给人的感觉就是逻辑脉络都很清晰,读下来思路顺畅,收获的也会很多。回顾
转载
2024-04-11 13:36:29
69阅读
nginx的日志设置access_logaccess_log是服务器记录了哪些用户,哪些页面以及用户浏览器、ip和其他的访问信息;是一种非常详细的记录信息;如果我们不关心谁访问了我们,可以关闭;access_log:用来配置访问日志的输出格式和输出的路径;# 在http配置端,可以设置是否开启记录用户的访问日志功能
access_log on/off
# 设置格式:access_log 路径
转载
2024-02-09 08:18:40
98阅读
首先看看网卡的信息通过ip addr命令可以看到,这里有三个网卡,lo: 本机回环地址etho : 默认网卡docker0 :docker的网卡[root@VM_0_5_centos dockerFile]# ip addr
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN qlen 1
li
转载
2024-04-12 10:34:43
37阅读