基于Nginx的中间件架构

一、学习环境

系统硬件:CPU>=2Core ,内存>=256M
操作系统:CentOS>=7.0,位数:64位

  • 环境调试确认
  1. 确认系统网络
  2. 确认yum可用
  3. 确认关闭iptables规则
  4. 确认停用selinux
  • 两项安装
yum -y install gcc gcc-c++ autoconf pcre pcre-devel make automake
yum -y install wget httpd-tool vim
  • 初始化
cd /opt
mkdir app download logs work backup

二、环境调试

  1. 确认公网的联通性(ping www.baidu.com)
    在这里插入图片描述
  2. 确认yum源的可用
    在这里插入图片描述
  3. 关闭iptables规则
    在这里插入图片描述
  4. 关闭selinux
    在这里插入图片描述
    三、安装基础依赖
yum -y install gcc gcc-c++ autoconf pcre pcre-devel make automake

在这里插入图片描述
这里提前安装了

yum -y install wget httpd-tool vim

在这里插入图片描述
初始化 :在opt 创建app back download work logs 等目录

在这里插入图片描述

四、介绍中间件

  • 什么是中间件?
    在网站后台往往有很多应用服务是在操作系统驱动硬件来提供对应的服务。应用与应用之间的直接调用或者应用直接操作系统的交互,会导致层次化的应用不够隔离,代码符合程度高,需要中间件来代理处理一些请求。
    在这里插入图片描述

  • Nginx简述
    Nginx是一个开源且高性能、可靠的HTTP中间件、代理服务。

  • 常见的HTTP服务

  1. httpd - Apache基金会
  2. IIS - 微软
  3. GWS - Google
  • 为什么选择nginx
  1. IO多路复用epoll
    多个描述符的I/O操作都能在一个线程内并发交替地顺序完成,这叫I/O多路复用,这里的“复用”指的是复用同一个线程
    在这里插入图片描述
  • 什么是epoll
    IO多路复用的实现方式select、poll、epoll
  • 什么是select
    在这里插入图片描述
    select缺点:
    1)能够监视文件描述符的数量存在最大限制
    2)线性扫描效率低下
  • epoll模型
    1)每当FD就绪,采用系统的回调函数之间将fd放入,效率更高
    2)最大连接无限制
  1. 轻量级
  • 功能模块少
  • 代码模块化
  1. CPU亲和
  • 为什么需要CPU亲和?
    是一种把CPU核心和Nginx工作进程绑定方式,把每个worker进程固定在一个cpu上执行,减少切换cpu的cache miss,获得更好的性能
  1. sendfile
    动静分离:静态文件直接通过内核空间而不需要经过用户空间,从而减少性能的消耗
    在这里插入图片描述
    在这里插入图片描述
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值