草庐IT

在C++11中实现Nginx中的内存池

将Nginx中的内存池实现移植到c++,通过面向对象的方式实现头文件:////Createdby26685on2022-05-2919:57.//Description:NginxMemoryPool.h//#ifndefMEMORYPOOL_NGINXMEMORYPOOL_H#defineMEMORYPOOL_NGINXMEMORYPOOL_H#include#include#includeusingu_char=unsignedchar;usingngx_uint_t=unsignedint;usingngx_pool_cleanup_pt=void(*)(void*data);//函数指

在C++11中实现Nginx中的内存池

将Nginx中的内存池实现移植到c++,通过面向对象的方式实现头文件:////Createdby26685on2022-05-2919:57.//Description:NginxMemoryPool.h//#ifndefMEMORYPOOL_NGINXMEMORYPOOL_H#defineMEMORYPOOL_NGINXMEMORYPOOL_H#include#include#includeusingu_char=unsignedchar;usingngx_uint_t=unsignedint;usingngx_pool_cleanup_pt=void(*)(void*data);//函数指

ubuntu nginx + php7.2 + mysql5.7环境搭建

一、换源备份原来的源sudocp/etc/apt/sources.list/etc/apt/sources_init.list更换源sudogedit/etc/apt/sources.list阿里源(Ubuntu18.04)debhttp://mirrors.aliyun.com/ubuntu/bionicmainrestricteduniversemultiversedeb-srchttp://mirrors.aliyun.com/ubuntu/bionicmainrestricteduniversemultiversedebhttp://mirrors.aliyun.com/ubuntu/

ubuntu nginx + php7.2 + mysql5.7环境搭建

一、换源备份原来的源sudocp/etc/apt/sources.list/etc/apt/sources_init.list更换源sudogedit/etc/apt/sources.list阿里源(Ubuntu18.04)debhttp://mirrors.aliyun.com/ubuntu/bionicmainrestricteduniversemultiversedeb-srchttp://mirrors.aliyun.com/ubuntu/bionicmainrestricteduniversemultiversedebhttp://mirrors.aliyun.com/ubuntu/

从 Nginx Ingress 窥探云原生网关选型

现今有越来越多的企业开始采纳云原生理念进行应用架构转型。而K8s和微服务是云原生的两大支柱,随着云原生浪潮而被广泛应用。 对多数应用而言,提供对外服务的使命并不会改变,相比于原来的单体应用,微服务架构下的应用的服务出口更多,管理更繁琐,微服务网关也应运而生;而K8s也提供了多种方式来暴露应用的服务,各种Ingress实现百花齐放。面对众多技术方案,我们如何做出合理的选择,规避潜在风险,本文将给出一些选型建议,供大家参考。 云原生网关基本概述 K8s中服务对外访问的方式 对于部署在云服务器上的应用,通常使用负载均衡软件或服务(如SLB)来提供高可用的服务。K8s提供了基于Service的服务发现

从 Nginx Ingress 窥探云原生网关选型

现今有越来越多的企业开始采纳云原生理念进行应用架构转型。而K8s和微服务是云原生的两大支柱,随着云原生浪潮而被广泛应用。 对多数应用而言,提供对外服务的使命并不会改变,相比于原来的单体应用,微服务架构下的应用的服务出口更多,管理更繁琐,微服务网关也应运而生;而K8s也提供了多种方式来暴露应用的服务,各种Ingress实现百花齐放。面对众多技术方案,我们如何做出合理的选择,规避潜在风险,本文将给出一些选型建议,供大家参考。 云原生网关基本概述 K8s中服务对外访问的方式 对于部署在云服务器上的应用,通常使用负载均衡软件或服务(如SLB)来提供高可用的服务。K8s提供了基于Service的服务发现

从零开始部署 Yapi(Windows+Nginx)

一、环境准备及安装本文中是以本地Windows作为安装环境,Nginx做反向代理,亲测验证可用。Yapi运行需要的环境:Nodejs,MongoDB安装包都在文档末尾处1.1安装node-v12.16.1为啥偏偏是V12.16.1版本?因为亲测Nodejs安装太高的版本会导致Yapi可视化安装时出现奇怪的错误,经过几次测试,便使用了该版本的nodejs及V4.2.12版本的MongoDB。安装过程很简单,一直next使用默认配置验证是否安装成功,cmd使用【node-v】命令即可1.2安装MongoDBYapi的数据存储使用的MongoDB,例如一些账户信息,之后也方便二开1.2.1安装包双击

从零开始部署 Yapi(Windows+Nginx)

一、环境准备及安装本文中是以本地Windows作为安装环境,Nginx做反向代理,亲测验证可用。Yapi运行需要的环境:Nodejs,MongoDB安装包都在文档末尾处1.1安装node-v12.16.1为啥偏偏是V12.16.1版本?因为亲测Nodejs安装太高的版本会导致Yapi可视化安装时出现奇怪的错误,经过几次测试,便使用了该版本的nodejs及V4.2.12版本的MongoDB。安装过程很简单,一直next使用默认配置验证是否安装成功,cmd使用【node-v】命令即可1.2安装MongoDBYapi的数据存储使用的MongoDB,例如一些账户信息,之后也方便二开1.2.1安装包双击

nginx源码层面探究request_time、upstream_response_time、upstream_connect_time与upstream_header_time指标具体含义与区别

背景概述最近计划着重分析一下线上各api的HTTP响应耗时情况,检查是否有接口平均耗时、99分位耗时等相关指标过大的情况,了解到nginx统计请求耗时有四个指标:request_time、upstream_response_time、upstream_connect_time与upstream_header_time,在查找资料的过程中,发现无论是nginx官方文档还是热心网友们的分享,都并没有让自己感觉特别详细、明白地说清楚了这四个指标详细具体含义的资料,于是自己动手探究了一番nginx源码,尝试从其中找出这4个指标的代码级别具体含义。特别说明:本文代码分析基于nginx1.10.0版本,从

nginx源码层面探究request_time、upstream_response_time、upstream_connect_time与upstream_header_time指标具体含义与区别

背景概述最近计划着重分析一下线上各api的HTTP响应耗时情况,检查是否有接口平均耗时、99分位耗时等相关指标过大的情况,了解到nginx统计请求耗时有四个指标:request_time、upstream_response_time、upstream_connect_time与upstream_header_time,在查找资料的过程中,发现无论是nginx官方文档还是热心网友们的分享,都并没有让自己感觉特别详细、明白地说清楚了这四个指标详细具体含义的资料,于是自己动手探究了一番nginx源码,尝试从其中找出这4个指标的代码级别具体含义。特别说明:本文代码分析基于nginx1.10.0版本,从