Apache与nginx的区别
apache:
- 进程,稳定
- 模块超多,基本想到的都可以找到
- 少bug ,nginx 的bug 相对较多
nginx:
- 线程,快,不稳定。多线程是共享的,一个线程出问题,其他的也会受牵连。
- 7层调度,反向代理能力强。CDN这块nginx也用的多
- 轻量级,同样起web 服务,比apache占用更少的内存及资源
- 抗并发,nginx 处理请求是异步非阻塞的,而apache 则是阻塞型的,在高并发下nginx 能保持低资源低消耗高性能
- 高度模块化的设计,编写模块相对简单
- 社区活跃,各种高性能模块出品迅速啊
- 自带健康检查
反向代理
正向代理:服务器不知道用户是谁
用浏览器访问 http://www.google.com 时,被残忍的block,于是你可以在国外搭建一台代理服务器,让代理帮我去请求google.com,代理把请求返回的相应结构再返回给我。
A同学去找马云爸爸借钱,马云没有借,经过一番消息打探,原来A同学的大学老师王老师是马云的同学,于是A同学找到王老师,托王老师帮忙去马云那借500万过来,当然最后事成了。不过马云并不知道这钱是A同学借的,马云是借给王老师的,最后由王老师转交给A同学。这里的王老师在这个过程中扮演了一个非常关键的角色,就是代理,也可以说是正向代理,王老师代替A同学办这件事,这个过程中,真正借钱的人是谁,马云是不知道的,这点非常关键。
反向代理:用户不知道服务器是谁
反向代理一般部署在中心机房,用户首先访问的是反向代理服务器,再由反向代理服务器请求真正的服务器。获得结果后将结果返回给用户。同时会将次内容缓存,当其他用户再次访问时,就可以命中
缓存,直接将结果返回给用户,就不会请求真实服务器。提高相应速度。
1.拿10086来说,当你想要人工办理移动业务时,拨打10086(10086这个号码就相当于反向代理服务器),进行业务的过滤分类后,你将被分配到真正主管该业务的话务员(相当于真正的服务器)
2.cdn主要解决地理距离上造成的访问延迟高的情况。一般部署在网络提供商的机房。
通常情况下,当访问大型企业时,由于客户所在地址离企业的服务器的距离不同,有些客户距离比较近,有些客户距离比较远,那么距离远的客户访问企业服务器时,客户端数据会经过层层路由,最终访问企业服务器的延时就会相当高,这无疑拉低用户体验。
所以企业一般会在不同地方租用一个服务器来当时缓存企业服务器上的内容,当用户访问企业服务器时,会首先访问企业租用的距离用户较近的这台服务器上的缓存,当租用的服务器上有用户所需的信
息,直接返回数据,达到加速的目的,这就是通常所说的cnd加速。
nginx源码编译
rewrite ,比nginx 的rewrite 强大
动态页面
模块超多,基本想到的都可以找到
少bug ,nginx 的bug 相对较多
超稳定
先关闭集群避免影响
[root@server1 ~]# pcs cluster stop --all
server2: Stopping Cluster (pacemaker)...
server1: Stopping Cluster (pacemaker)...
server1: Stopping Cluster (corosync)...
server2: Stopping Cluster (corosync)...
[root@server1 ~]# pcs cluster disable --all
server1: Cluster Disabled
server2: Cluster Disabled
[root@server2 ~]# ls
nginx-1.18.0.tar.gz
[root@server2 ~]# tar zxf nginx-1.18.0.tar.gz
[root@server2 ~]# ls
nginx-1.18.0 nginx-1.18.0.tar.gz
[root@server2 ~]# cd nginx-1.18.0/
[root@server2 nginx-1.18.0]# ls
auto CHANGES CHANGES.ru conf configure contrib html LICENSE man README src
[root@server2 nginx-1.18.0]# ./configure --prefix=/usr/local/nginx --with-http_ssl_module # ssh用的ssl协议