参考地址:https://mp.weixin.qq.com/s/lFQNgy39GX4tJZzvXug3LA
一、Nginx简介
Nginx是一个开源且高性能、可靠的HTTP中间件、代理服务
二、常见的HTTP服务
HTTPD-Apache基金会
IIS - 微软
GWS - Google(不对外开放)
三、为什么选择Nginx
1.3.1、IO多路复用epoll
多个描述的I/O操作都能在一个线程内并发交替的顺序完成,这个就叫I/O多路复用,这里的“复用”指的是复用一个线程。
IO多路复用的实现方式select、poll、epoll
1.3.1.1什么是select
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