nginx主要做什么?
Nginx 是一个高性能的HTTP和反向代理服务,也是一个IMAP/POP3/SMTP服务。Nginx是由俄罗斯人开发的,
Nginx是一款轻量级的Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,并在一个BSD-like 协议下发行。其特点是占有内存少,并发能力强,事实上nginx的并发能力确实在同类型的网页服务器中表现较好,中国大陆大部分网站都有使用nginx。
1.1:一般网站使用Nginx 主要会使用到
1.反向代理
2.负载均衡
3.HTTP服务器(包含动静分离)
1.2 反向代理
一张图片告诉你,看不是很清楚,也不容易理解,简单说就是代理服务器来接受internet上的连接请求,然后将请求转发给内部网络上的服务器,并将从服务器上得到的结果返回给internet上请求连接的客户端,此时代理服务器对外就表现为一个反向代理服务器。
1.3 负载均衡
一直图可以简单的告诉你,然后用到的算法也可以跟大家一起分享一下
轮询(默认):每个请求按时间顺序逐一分配到不同的后端服务器,如果后端某台服务器宕机,则自动剔除故障机器,使用户访问不受影响,个人觉得这个是最好的,但也有成本就是机器成本!实际情况也验证了这一点,移动段的token!
weight:
指定轮询权重,weight值越大,分配到的几率就越高,主要用于后端每台服务器性能不均衡的情况。个人觉得这个其实没什么必要现在服务器一般企业是在云上,机器之间配置不会差很多,不需要什么全职,也没必要!
ip_hash:
每个请求按访问IP的哈希结果分配,这样每个访客固定访问一个后端服务器,可以有效的解决动态网页存在的session共享问题。这个是在pc时代采取的比较常见的作法,解决session,慢慢的技术演变,session已经不是网友的共享,而随之而来的是token令牌,解决了用户权限校验问题。用这个只能在小型的网站会使用,最坏的是使用的访问,流量都在一个tomcat上,不大会采取这种做法!
1.3 HTTP服务器(包含动静分离)
Nginx本身也是一个静态资源的服务器,当只有静态资源的时候,就可以使用Nginx来做服务器,同时现在也很流行动静分离,就可以通过Nginx来实现,首先看看Nginx做静态资源服务器,把一些静态资源,分离出来,每次服务不需要从网络中拉取,而且从数据上来说,是最快的。
1.4 小结
Nginx 以轻量慢慢取得重量级apache ,现在已经是主流,但最近几年也慢慢被其他取代,活到老,学到老,拥抱变化!
以上是nginx主要做什么的详细内容。更多信息请关注PHP中文网其他相关文章!