什么是Nginx
Nginx是一个高性能的HTTP和反向代理服务器和负载均衡器,顾名思义nginx常用的功能就是反向代理以及负载均衡。
在后台开发中Nginx经常和服务器集群一起使用,用轮询、权重、ip_hash等策略将请求分发给服务器
在连接高并发的情况下,Nginx是Apache服务器不错的替代品:Nginx在美国是做虚拟主机生意的老板们经常选择的软件平台之一。能够支持高达 50,000 个并发连接数的响应。
正向代理与反向代理
很多同学估计都用过或者见到过代理服务器这些字样,其实简单理解就是将处理请求的到达
-
正向代理
站在用户的角度看,正向代理是用户已经知道要访问哪个IP地址(域名),这个请求发给代理服务器,代理服务器来帮助用户访问,此时隐藏了用户的信息,因为请求这时就是从代理服务器发出的,就像所说的科学上网,大多数科学上网其实就是利用了正向代理 -
反向代理
反向代理从用户角度出发,就是用户不知道访问到的真正服务器,但是用户可以访问代理服务器,由代理服务器来分发用户的请求到指定的服务器,并将结果返回给用户,这个过程中,用户不需要知道最终访问的服务器,只要知道反向代理服务器的Ip即可
这里用知乎@阿笠硕士的答案来加深理解 https://www.zhihu.com/question/24723688
负载均衡
既然是分发请求,那么就有相应的策略,所谓负载均衡就是使用什么策略来实现请求的分发,比如一个有3台服务器的集群,使用轮询的策略来做负载均衡,有3个请求过来了,那么一个请求分发给一个服务器,相当于一台一个,第4个请求过来时,那么会重新将请求分给第一台服务器,依次进行
Nginx环境搭建
通过 http://nginx.org/en/download.html 下载一个nginx服务包,我配置的是Linux版本,将tar包传送到Linux系统下就可以开始搭建环境了,因为Nginx是用C写的,所以需要编译,可以先执行yum -y