一、Nginx简介
Nginx (engine x) 是一个轻量级的、高性能的、基于Http的、反向代理服务器,静态web服务器。
Nginx最初是由俄罗斯人Igor Sysoev(伊戈尔·赛索耶夫)使用C语言为俄罗斯访问量第二的Rambler.ru站点开发的一款服务器。2004年10月发布第一个版本。
Nginx的官网: http://nginx.org
国内大型的站点,例如百度、京东、新浪、网易、腾讯、淘宝等,都使用了Nginx
二、代理服务器
1、正向代理
(1) 隐藏
(2) 翻墙
(3) 提速
(4) 缓存
(5) 授权
2、反向代理
(1) 保护隐藏
(2) 分布式路由
(3) 负载均衡
(4) 动静分离
(5) 数据缓存
三、总结
正向代理特点:
- 正向代理是对客户端的代理
- 正向代理是架设在客户端的主机
- 客户端在使用正向代理服务器时是知道其要访问的目标服务器地址信息
反向代理特点:
- 反向代理是对服务端的代理
- 反向代理是架设在服务端的主机
- 客户端在使用反向代理服务器时根本就不知道自己真正要访问的目标服务器地址信息
四、Ngnix特点
1、高并发
一个Nginx服务器在不做任何配置的情况下并发量可达1000左右。在硬件条件允许的前提下,Nginx可以支持高达5-10万的并发量(除了Nginx的设置外,Linux主机需要做大量的设置来配合Nginx)。
对比一下Tomcat。Tomcat服务器默认的并发量为150(不做任何配置)。即,当有超过150个用户同时访问某Servlet时,Tomcat的响应就会变得非常慢
2、低消耗
官方给出的测试结果,10000个非活跃连接,在Nginx中仅消耗2.5M内存。对于一般性的DoS攻击来说就不是事儿,但对于DDoS也会是问题
3、低消耗
可以在7*24小时不间断服务的前提下,进行Nginx版本的平滑升级,Nginx配置文件的平滑修改。即在不停机的情况下升级Nginx,修改替换Nginx配置文件。
4、高可用
Nginx之所以可以实现高并发,是因为其具有很多工作进程worker。当这些工作进程中的某些出现问题停止工作时,并不会影响整个系统的整体运行。因为其它worker会接替那些出问题的线程
5、高扩展
Nginx只所以现在的用户很多,是因为很多功能都已经开发好并模块化。若需要哪些功能,只需要安装相应功能的扩展模块即可。根据编写扩展模块所使用的语言的不同,可以划分为两类:C语言扩展模块与LUA脚本扩展模块。 http://openresty.org/cn/