Nginx的基本介绍&反向代理
什么是nginx
- Nginx 是异步框架的网页服务器,也可以用作反向代理、负载平衡器和 HTTP 缓存。大部分 Web 服务器使用 Nginx,通常作为负载均衡器。
- 部署web项目的容器(部署你们写的项目的),常见的web容器有:nginx、Apache、Tomcat
- nginx官方宣称可以处理十万并发(处理静态资源的时候应该是可以达到这个水平)
nginx高并发原理( 多进程+epoll实现高并发 【select poll epoll】)
- Nginx 在启动后,会有一个 master 进程和多个相互独立的 worker 进程。
- 每个子进程只有一个线程,采用的 IO多路复用模型epoll,实现高并发。
nginx和apache比较
1)nginx相对于apache的优点
- 轻量级,同样起web 服务,比apache 占用更少的内存及资源
- 抗并发,nginx 处理请求是异步非阻塞的,而apache 则是阻塞型的,在高并发下nginx 能保持低资源低消耗高性能
- 高度模块化的设计,编写模块相对简单,社区活跃,各种高性能模块出品迅速啊
2)apache 相对于nginx 的优点
- apache 更为成熟,少 bug ,稳定性好
- rewrite ,比nginx 的rewrite 强大
- 模块超多,基本想到的都可以找到
Nginx的应用场景
-
http服务器。Nginx是一个http服务可以独立提供http服务。可以做网页静态服务器。
-
虚拟主机。可以实现在一台服务器虚拟出多个网站。例如个人网站使用的虚拟主机。
-
反向代理,负载均衡。当网站的访问量达到一定程度后,单台服务器不能满足用户的请求时,需要用多台服务器集群可以使用nginx做反向代理。并且多台服务器可以平均分担负载,不会因为某台服务器负载高宕机而某台服务器闲置的情况。
nginx反向代理
nginx反向代理
- 反向代理对用户透明,客户端无需任何配置即可访问服务。
- 实际运行方式是指以代理服务器来接受internet上的连接请求,然后将请求转发给内部网络上的服务器。
- 并将从服务器上得到的结果返回给internet上请求连接的客户端,此时代理服务器对外就表现为一个服务器。
反向代理的作用:
- 保证内网的安全,通常将反向代理作为公网访问地址,Web服务器是内网
- 负载均衡,通过反向代理服务器来优化网站的负载
反向代理和web服务器区别
- 反向代理服务器:通过给你upstream参数配置, proxy_pass
- web服务器部署:web服务服务器应该不是我们真实项目(django+uwsgi+nginx)
- 几台反向代理服务器:没有使用LVS等负载均衡技术,那么只有一台负载均衡服务器
- 反向代理服务器部署nginx后台为什么也不是nginx: 提高每个web服务器处理能力