一。什么是Nginx以及其优点
Nginx是一款高性能,轻量级Web服务软件,用于HTTP,HTTPS,SMTP,POP3和IMAP协议。它实现了非常高效的反向代理,负载平衡。
优点
1.稳定性高,宕机概率非常小 跨平台,配置简单
2.系统资源消耗低 内存消耗小
3.对HTTP并发连接的处理能力高 非阻塞,高并发连接
单台物理服务器可支持三万到五万个并发请求
Nginx和Apache的差异
Nginx:采用单线程来异步非阻塞处理请求(管理员可以配置Nginx主进程的工作进程的数量),不会为每个请求分配cpu和内存资源,节省了大量资源,同时也减少了大量的CPU的上下文切换。所以才使得Nginx 支持更高的并发。
nginx是一个基于事件的web服务器
所有请求都由一个线程处理
nginx避免子进程的概念
nginx类似于速度
nginx在内存消耗和连接方面比较好
nginx在负载均衡方面表现较好
nginx不支持IBMI和openvms一样的os
nginx只具有核心功能
nginx的性能和可伸缩性不依赖于硬件
Nginx支持热部署
Apache:创建多个进程或线程,而每个进程或线程都会为其分配cpu和内存(线程要比进程小的多,所以worker支持比perfork高的并发),并发过大会榨干服务器资源。
apache是一个基于流程的服务器
单个线程处理单个请求
apache是基于子进程的
apache类似于功率
apache在内存消耗和连接上没有提高
当流量到达进程极限时,apache将拒绝新的连接
apache支持更多的os
apache提供了比nginx更多的功能
apache依赖于cpu和内存等硬件组件
Apache不支持热部署
Nginx和Apache的优缺点比较
(1)nginx相对于apache的优点∶
- 轻量级,同样起web服务,比apache占用更少的内存及资源
- 抗并发,nginx处理请求是异步非阻塞的,而apache是阻塞型的在高并发下,nginx能保持低资源低消耗高性能
- 高度模块化的设计,编写模块相对简
- 支持热部署,平滑升级
(2)apache相对于nginx的优点∶
- Rewrite比nginx的rewrite强大 (rewrite的主要功能就是实现统一资源定位符URL的跳转)
- 模块多,基本想到的都可以找到
- 少bug, nginx的bug相对较多
- 超稳定
- Nginx处理动态请求是弱项,动态请求要Apache去做。
二。Nginx的进程
Apache和Nginx的默认端口都是80,如果其中一个已经启动了,那么再启动另一个会报错。如果想要同时使用,可以修改其中一个的端口号。
Nginx有两个进程:
1.master process:主进程(守护进程),用来管理工作进程。
2.worker process:工作进程,用来处理用户的请求
三。编译安装Nginx服务
1.关闭防火墙,将Nginx所需压缩包上传到/opt目录下
systemctl stop firewalld
setenforce 0
ls /opt/
2.安装依赖包
yum in