ICode9

精准搜索请尝试: 精确搜索
  • linux redhat 7 nginx-1.18.02021-07-04 21:33:50

    [rpauser@localhost install]$ [rpauser@localhost install]$ tar -zxvf nginx-1.18.0.tar.gz nginx-1.18.0/ nginx-1.18.0/auto/ nginx-1.18.0/conf/ nginx-1.18.0/contrib/ nginx-1.18.0/src/ nginx-1.18.0/configure nginx-1.18.0/LICENSE nginx-1.18.0/README nginx-1.1

  • Nginx学习之Nginx高性能的实现原理2021-07-03 16:33:41

    Nginx 采用的是多进程(单线程) & 多路IO复用模型,使用了 I/O 多路复用技术的 Nginx,就成了”并发事件驱动“的服务器,同时使用sendfile等技术,最终实现了高性能。主要从以下几个方面讲述Nginx高性能机制: Nginx master-worker进程机制。IO多路复用机制。Accept锁及REUSEPORT机制。sendf

  • Nginx源码理解 - 内存池2021-06-30 22:31:27

    现在对于nginx的内存分配函数讲解有很多了,就不一一分析了,讲下心得和实现的方式。个人觉得实现的模式和思维这才是很是我们学习的地方。知道原理、学会思考才能熟记于心。 这是第一次讲对nginx的理解,有什么不对的地方请大家多多指教,毕竟nginx涉及了太多知识点了,尤其是对系统的深

  • HTTP header 参数丢失情况分析以及解决防范2021-06-30 21:01:49

    HTTP header 参数丢失情况分析以及解决防范 1.问题 当项目有Nginx做了代理的时候,请求头中传参 "user_ip" ,接口接收不到 2.问题分析 默认nginx是不能转发带_的header信息的,为什么不能支持下划线呢,因为nginx的源码中默认判定就是不合法的: rc = ngx_http_parse_he

  • 如何实现一个定时器?看这一篇就够了2021-06-29 14:01:32

    “ 本文主要介绍定时器作用,实现定时器数据结构选取,并详细介绍了跳表,红黑树,时间轮实现定时器的思路和方法。 ” 定时器作用 定时器在各种场景都需要用到,比如游戏的Buff实现,Redis中的过期任务,Linux中的定时任务等等。顾名思义,定时器的主要用途是执行定时任务。 定时器数据结构选取 定

  • gdb使用调用栈作为断点条件的方法2021-06-21 15:33:45

    (gdb) bt #0 ngx_ssl_engine_qat_heuristic_poll (log=0x55a4ee0d3670) at modules/nginx_qat_module/ngx_ssl_engine_qat_module.c:694 #1 0x000055a4eba43791 in ngx_ssl_async_process_fds (c=0x7f2e19705db8) at src/event/ngx_event_openssl.c:1675 #2 0x000055a4eba4

  • nginx 基础结构2021-06-20 23:01:05

      //gcc -o ngx_list_main ngx_list_main.c -I /root/nginx-1.16.1/src/core/ -I /root/nginx-1.16.1/objs/ -I /root/nginx-1.16.1/src/os/unix/ -I /root/nginx-1.16.1/pcre-8.41/ -I /root/nginx-1.16.1/src/event/ /root/nginx-1.16.1/objs/src/core/ngx_list.o /root/

  • nginx中void****ctx如何初始化2021-06-19 19:57:38

    nginx的一切都是通过ngx_cycle_s来展开的,按看一下其第一个参数: struct ngx_cycle_s { void ****conf_ctx; ngx_pool_t *pool; ... } 注意conf_ctx有四个指针,就是数组的数组,那么它是怎么初始化的呢? 我们在这里先列出几个核心

  • 最新版本Tengine编译安装【v2.3.3】2021-06-17 09:52:50

    > tengine编译安装文档,不定期更新。 ### 1.相关资源包的最新版本下载地址 - tengine: https://tengine.taobao.org/download.html - openssl: https://ftp.openssl.org/source/ ### 2.基础依赖包的安装 ``` yum install -y wget gcc pcre-devel perl ``` ### 3.最新版本源代码

  • 学习Nginx看这篇就够了2021-06-14 22:30:19

    0. NGINX的优点 响应速度快 单次请求响应快,高并发请求响应速度快 高扩展性 低耦合的模块设计框架使得可以扩展大量的第三方模块 高可靠性 每个worker进程相对独立master进程在一个worker进程挂掉后,会快速启动新worker进程提供服务 低内存消耗 1w个非活跃的http keepalive连接

  • 5.nginx字符串(ngx_str_t)2021-06-13 00:00:03

    nginx 字符串定义 typedef struct { size_t len; //数据长度 u_char *data; //数据 } ngx_str_t; len:字符串大小 data:字符串 有了len成员标志可以不使用C风格的字符串以’\0’结尾 字符串初始化 #define ngx_string(str) { sizeof(str) - 1, (u_char

  • Nginx 开启 BR 压缩2021-06-12 20:02:45

    Nginx 开启 BR 压缩 安装 nginx 传送门 Brotli Module Configuration cd /root git clone https://gitee.com/Longbow/ngx_brotli --recursive 这里我也挖个坑,坑死白嫖党,哼哼 cd /root git clone https://gitee.com/Longbow/ngx_brotli cd ngx-brotli/deps git clone https://gi

  • 怎样理解 cosocket2021-06-01 14:00:10

    笔者认为,cosocket 是 OpenResty 世界中技术、实用价值最高部分。让我们可以用非常低廉的成本,优雅的姿势,比传统 socket 编程效率高好几倍的方式进行网络编程。无论资源占用、执行效率、并发能力都非常出色。 鲁迅有句名言“其实世界上本没有路,走的人多了便有了路”,其实对于 co

  • Nginx编译配置脚本篇(6)- 系统环境相关脚本2021-05-27 21:29:57

    Nginx编译配置脚本篇(6)- 系统环境相关脚本 1、相关文章2、前言3、auto/os/conf脚本文件详解3.1、输出当前操作系统名称(NGX_SYSTEM)3.2、根据NGX_PLATFORM执行对应的脚本文件3.3、根据处理器的类型设置缓存行大小 4、auto/os/linux脚本文件详解4.1、写入当前系统类型到头文件4

  • 解决通过Nginx转发的服务请求头header中含有下划线的key,其值取不到的问题2021-05-25 21:04:36

    问题 由于在http请求头的头部中设置了一些自定义字段,刚好这些字段中含有下划线,比如bundle_name这种,后端在获取头部信息时,发现取不到对应的值   原因分析 nginx源码 ngx_http_parse_header_line(ngx_http_request_t *r, ngx_buf_t *b,ngx_uint_t allow_underscores) if (ch == '_

  • linux centos7系统安装nginx2021-05-20 10:59:30

      安装nginx的前奏 安装依赖 yum -y install gcc zlib zlib-devel pcre-devel openssl openssl-devel 创建一个文件夹 cd /usr/local mkdir nginx cd nginx 下载Nginx tar包 和 解压 wget http://nginx.org/download/nginx-1.13.7.tar.gz tar -xvf nginx-1.13.7.tar.gz 安装n

  • 隐藏或修改nginx返回的Server信息(以及隐藏版本号)2021-05-14 18:05:03

    如何隐藏nginx版本号: [root@localhost /]# vi /etc/nginx/nginx.conf[root@localhost /]# nginx -t[root@localhost /]# nginx -s reload 配置文件中,http区段中插入“server_tokens  off;”,重新载入配置文件 worker_processes 1; events { worker_connections 1024; }

  • k8s pod 如何删除2021-05-13 13:04:05

    在k8s 里面如果直接删除pod,, 是起不到作用的,因为删除的pod 还是被继续拉起来。 看下面的例子,我们把 deployment-ngx-8ff559dc9-5v5f7 这个pod 通过kubectl  delete pod 的方式删除掉   [root@k8s-master ~]# kubectl get pods NAME READY STAT

  • Nginx源码分析 - HTTP模块篇 - TCP连接建立过程(21)2021-05-13 12:29:46

    目录 一、监听套接字初始化函数ngx_http_optimize_servers 二、Nginx整个连接的过程 上一章,我们讲解了HTTP模块是如何初始化的。这一章节,主要讲解监听套接字初始化函数ngx_http_optimize_servers和Nginx整个连接的过程 一、监听套接字初始化函数ngx_http_optimize_servers ngx_h

  • Nginx源码分析 - 基础数据结构篇 - hash表结构 ngx_hash.c(07)2021-05-11 23:32:53

    目录 一、数据结构定义 1. ngx_hash_elt_t hash表的元素结构 2. ngx_hash_t hash表结构 3. ngx_hash_init_t hash表初始化结构 二、数据结构图 三、具体函数实现 1. 查找一个元素 ngx_hash_find 2. 创建一个hash表 ngx_hash_init Nginx的hash表结构和我们之前阅读memcached的时

  • WEB请求处理(2):Nginx 请求反向代理2021-05-09 08:51:20

    上一篇《WEB请求处理(1):浏览器请求发起处理》,我们讲述了浏览器端请求发起过程,通过DNS域名解析服务器IP,并建立TCP连接,发送HTTP请求。本文讲述请求到达反向代理服务器的一个处理过程,比如:在Nginx中请求的处理流程,请求都是经过了哪些模块,做了哪些处理,又是如何找到应用服务器呢?为直观明了,

  • 基于centos7系统自动编译安装nginx服务2021-05-06 15:00:57

    概述 本来没想过写一个自动部署nginx服务脚本,主要很多模块要考虑,不好做一些标准的内容,但是开发有需求,那就顺便写一下好了… 这里顺便集成了nginx优化参数的一些内容,仅供参考。 常用模块 这里集成的一些模块如下: #常用module #ngx_http_core_module:核心模块;内置模块。 #ngx_ht

  • 【Linux网络编程】Nginx -- 事件模块(三)2021-05-05 20:59:20

    【Linux网络编程】Nginx -- 事件模块(三) 【1】epoll 的原理简介 详见 【Linux网络编程】Epoll 的实现原理分析 【2】ngx_epoll_module epoll 驱动模块 【2.1】ngx_epoll_module epoll 驱动模块 -- 相关接口定义 ngx_epoll_conf_t 结构体 // epoll 模块的配置结构体 typedef s

  • 从零构建通讯器--4.4-4.5信号在创建线程的实战作用、write函数写入日志设置成不混乱、文件IO详解2021-05-01 19:02:16

    (1)信号功能实战 ①signal():注册信号处理程序的函数; 商业软件中,不用signal(),而要用sigaction(); ②信号初始化函数: ngx_init_signals() 现在只是循环遍历,有信号就交给信号处理函数 ③信号处理函数: ngx_signal_handler(int signo, siginfo_t *siginfo, void *ucontext) 现在只是

  • 从零构建通讯器--4.3日志打印实战,优化main函数调用顺序2021-04-30 23:58:40

    一:基础设施之日志打印实战代码一 (1)新文件:ngx_printf.cxx以及ngx_log.cxx ngx_printf.cxx:放和打印格式相关的函数; ngx_log.cxx:放和日志相关的函数; 函数: (2)(//ngx_log_stderr() :三个特殊文件描述符【三章七节】,谈到了标准错误 STDERR_FILENO,代表屏幕)服务器一般都是守护进程,守护

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有