Nginx

定义

Nginx是一个高性能的HTTP和反向代理服务器,同时也是一个IMAP/POP3/SMTP 代理服务器。其特点是占有内存少,并发能力强,易于开发,部署方便。Nginx 支持多语言通用服务器。

正向代理

正向代理,就是代理服务器代理了客户端,去和目标服务器进行交互,例如翻墙。

反向代理

反向代理,就是代理服务器代理了目标服务器,去和客户端进行交互。

负载均衡

实际生产环境中,反向代理服务器代理的目标服务器可能不止一个。比如开发好的某个应用部署在一台 Tomcat 服务器上,而 Tomcat 的并发上限不优化情况下,默认只有两百左右,这时候为了解决高并发的问题,就只能选择更替服务器或者搭建多台服务器通过反向代理与负载均衡的技术解决并发问题。

「负载均衡」 (Load Balance)是由**「多台服务器以对称的方式组成一个服务器集群」,每台服务器都具有等价的地位,都可以单独对外提供服务而无须其他服务器的辅助。经过某种负载分管技术,将外部发送来的 「中央请求均匀分配」到对称结构中的「某一台服务器」**上。

负载均衡策略

轮询

轮询去访问机器,把不正常的机器剔除,每个请求会按时间顺序被逐一分配到不同的后端服务器。

least_conn最小连接

把请求转发给连接数较少的后端服务器,轮询算法是把请求平均的转发给各个后端,使他们负载大致相同。而每个请求不同,请求的资源和时间都不同,还是会导致有些机器还是负载过大,这种情况,least_conn就是处理这种情况的调度策略。

ip_hash

按照客户端IP地址的分配方式,可以确保相同客户端的请求一直发送到相同的服务器。这样每个访客都固定访问一个后端服务器。

Nginx、Apache两者比较

1.Nginx 配置简洁, Apache 复杂 ;Nginx 静态处理性能比 Apache 高 3倍以上 ;

2.Apache 对 PHP 支持比较简单,Nginx 需要配合其他后端用;Apache 的组件比 Nginx 多 ;

3.apache是同步多进程模型,一个连接对应一个进程;Nginx是异步的,多个连接(万级别)可以对应一个进程;

4.Nginx处理静态文件好,耗费内存少;动态请求由apache去做,Nginx只适合静态和反向;

5.Nginx适合做前端服务器,负载性能很好;Nginx本身就是一个反向代理服务器 ,且支持负载均衡。

相关推荐
爱喝水的鱼丶7 小时前
SAP-ABAP:接口与报表场景专项优化:RFC/ODATA 接口、ALV 报表的性能提升方案
运维·性能优化·接口·sap·abap·rfc·经验交流
画中有画7 小时前
自动化脚本开发最佳实践
运维·自动化
江南风月10 小时前
如何使用WGCLOUD实现智能运维
运维·zabbix·运维开发·prometheus
xiaoxiangsiyan10 小时前
HCIA 网络技术基础核心模块详解
运维·网络·网络协议·tcp/ip·运维开发·网络基础
MuMuMu122312 小时前
工业园区 VOCs 绿岛集中治理:越华环保集团项目技术方案与工程实践
大数据·运维
sxstj13 小时前
Ubuntu 完整安装并启用 Flatpak 教程
linux·运维·ubuntu
国际云,接待13 小时前
Nginx 后面接负载均衡,502/504 到底该先查哪里?
运维·nginx·负载均衡
刘某的Cloud14 小时前
Galera Cluster部署 mariadb 节点down机,log sequence number恢复
linux·运维·数据库·负载均衡·mariadb·集群·高可用
小此方14 小时前
Re:Linux系统篇(五十四)线程篇 · 七:互斥锁的底层实现原理:从硬件上下文、原子交换指令(Swap)到并发封装实战
linux·运维·驱动开发
二宝哥16 小时前
CentOS 7.9 离线安装 Nginx 并配置openssl1.1.1
linux·nginx·centos