参考地址:https://mp.weixin.qq.com/s/lFQNgy39GX4tJZzvXug3LA

一、Nginx简介

Nginx是一个开源且高性能、可靠的HTTP中间件、代理服务
第一章 Nginx环境调试与Nginx基础 - 图1

二、常见的HTTP服务

HTTPD-Apache基金会
IIS - 微软
GWS - Google(不对外开放)

三、为什么选择Nginx

1.3.1、IO多路复用epoll

多个描述的I/O操作都能在一个线程内并发交替的顺序完成,这个就叫I/O多路复用,这里的“复用”指的是复用一个线程。
IO多路复用的实现方式select、poll、epoll
image.png
1.3.1.1什么是select
image.png
1.3.1.2select缺点
能够监视文件描述符的数量存在最大限制
线性扫描效率低下
1.3.1.3 epoll模型
每当FD就绪,采用系统的回调函数之间的fd放入,效率更高
最大连接无限制
1.3.1.4 场景介绍
比如某个餐厅,有几个桌子要结账,服务员会告诉老板有几个,但是没有告诉老板具体是哪几个,老板需要自己去确定,这个就是select模型,epoll则是服务员会告诉老板是哪几个桌子要结账

1.3.2轻量级

  • 功能模块化
  • 代码模块化

    1.3.3CPU亲和

    是一种把CPU核心和Nginx工作进程绑定方式,把每个work进程固定在一个CPU上执行,减少切换CPU的cache miss,获得更好的性能。

    1.3.4sedFile(为什么处理静态文件有优势?)

    传统的请求文件要经过内核空间和用户空间(发生了多次的切换),最终到达socket,Nginx2.2之后,让请求路径只通过内核空间,0拷贝的方式传递给socket

    四、调试环境

    1.确认网络系统 ping www.baidu.com
    2.确认yum可用
    3.确认关闭iptables规则 确认80端口情况(Nginx默认的是80)
    iptables -L 查询有没有规则,有的话
    iptables -F 关闭规则
    iptables -t nat -L
    iptables -t nat -F
    4.确认停用seLinux
    getenforce 如果不是disabled
    setenforce 0 进行关闭
    两项安装()
    yum -y install gcc gcc-c++ autoconf pcre pcre-devel make automake
    yum -y install wget httpd-tools vim