奶奶常说Apache和Nginx的区别

一、apache和nginx的区别

1.apache优点:

1、守护进程相对稳定,重连机制做得好
2、跟php交互基本用module,在php上不用配置太多参数
3、相对nginx,重写(rewrite)支持更好
4、采用module,可拓展性更强,可以在任一阶段插入钩子增加灵活性。

2.apache缺点:

1、由于使用module形式加载,导致整个项目比较重
2、同步阻塞模型,容易导致进程阻塞无法正常访问
3、新加入的模型event据传性能相当不错,但目前官方称仍属于调试阶段,并不建议在生产环境使用。

3.nginx优点:

1、异步io处理模型,可以支持更高的并发
2、整体是个轻框架,反向代理一级棒(负载均衡)
3、采用php-fpm fastcgi模式连接php,负载量可以更大

4.nginx缺点:

1、守护进程由于给php-fpm做了,所以非常受限于php-fpm。一个输入参数可能会导致整个程序运行不下去
2、php-fpm要额外配置,排查问题多了一个环境需要排查
3、nginx可以执行rewrite,但性能没有apache那么好
3、apache的劣势

补充:I/O事件配置中 EPOLL:多路复用机制,进程协程+回调 实现了高并发能力
最大的连接数:4096 worker_connections 受到最大文件打开数 和 CPU 的制约

二、虚拟主机

1.nginxh支持的虚拟主机

1、基于域名的虚拟主机
2、基于IP的虚拟主机
3、基于端口的虚拟主机

2.通过server{}配置网段

虚拟主机,适合在企业内网中,不使用在外网中

三、NG 优化

1、设置版本隐藏
2、虚拟主机:IP/端口/域名
3、日志分割
4、防盗链和盗链
5、缓存时间
6、网页压缩
7、修改用户和组

负载均衡:作用在自己身上
负载均衡的对象:Tomcat或PHP等

四、负载均衡

1.二层(数据链路层)负载

负载均衡服务器对外依然提供一个VIP(虚IP),
集群中不同的机器采用相同IP地址,但是机器的MAC地址不一样。
当负载均衡服务器接受到请求之后,
通过改写报文的目标MAC地址的方式将请求转发到目标机器实现负载均衡。
2.三层负载(网络层)

和二层负载均衡类似,负载均衡服务器对外依然提供一个VIP(虚IP),
但是集群中不同的机器采用不同的IP地址。
当负载均衡服务器接受到请求之后,根据不同的负载均衡算法,
通过IP将请求转发至不同的真实服务器。
3.四层(传输层)负载

四层负载均衡工作在OSI模型的传输层,
由于在传输层,只有TCP/UDP协议,这两种协议中除了包含源IP、
目标IP以外,还包含源端口号及目的端口号。四层负载均衡服务器在接受到客户端请求后,
以后通过修改数据包的地址信息(IP+端口号)将流量转发到应用服务器。
4.七层负载(应用层)

七层负载均衡工作在OSI模型的应用层,应用层协议较多,
常用http、radius、dns等。七层负载就可以基于这些协议来负载。
这些应用层协议中会包含很多有意义的内容。比如同一个Web服务器的负载均衡,
除了根据IP加端口进行负载外,还可根据七层的URL、浏览器类别、语言来决定是否要进行负载均衡。
5.反向代理

NG代理前端 tomcat代理后端
6.模块

global
http
server
location
来决定是否要进行负载均衡。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值