这是我参与「第三届青训营 -后端场」笔记创作活动的第4篇笔记。
再学习了DNS扩展课之后,对7层负载均衡中Nginx产生了兴趣并学习了相关内容:
1.相关基本概念
1.1 正向代理
正向代理实际上就是让代理服务器代替客户端向服务器请求,从而获得本来难以得到的服务器资源。正向代理的过程隐藏了真实的请求客户端,服务端不知道真实的客户端是谁,某些科学上网工具扮演的就是典型的正向代理角色,比如我们直接访问www.google.com ,会被GFW拦截,而我们通过海外的代理服务器进行访问,代理会帮我们请求谷歌,然后再将请求转发给我们。
1.2 反向代理
正向代理是隐藏了客户端,那么反向代理就是隐藏了服务端,客户端不知道真正提供服务的是哪里的哪一台服务器,只需要知道反向代理服务器是谁。比如我们访问www.baidu.com ,我们会先请求百度,然后百度再帮我们寻找一个合适的服务器获取资源,再将资源返回给我们。百度就是我们的反向代理服务器,反向代理服务器会帮我们把请求转发到真实的服务器那里去。 总而言之,正向代理是为客户端代理,反向代理是为服务端代理。
1.3负载均衡
Nginx还能实现负载均衡。负载均衡就是当项目部署在不同的服务器上时,我们需要通过统一的域名进入,而Nginx则对请求进行分发,减轻了服务器的压力。Nginx服务器的作用只是作为分发服务器,真正的内容可以放在其他的服务器上,这样还能起到一层安全隔壁的作用,Nginx作为隔离层。其次,Nginx还能解决跨域的问题。
1.4 动静分离
Nginx还能实现动静分类。动静分离指在web服务器架构中,将动态资源(jsp、ftl等)和静态资源(js,css,html)分开部署,提高用户访问静态资源的速度,降低对后台应用的访问,从而提升整个服务器的访问性能和可维护性。 可以理解为使用Nginx处理静态页面,Tomcat处理动态页面。
1.5 高可用
假如我们只有一台nginx服务器,当服务器宕机后,整个系统就会瘫痪,因此我们还需要一个备用服务器,此服务器称为Backup,要判断是否启用备用服务器,需要使用keepalived服务来判断。
2.Nginx的安装
2.1Linux系统下的安装
系统平台:VMware15+CentOS7
- 安装编译工具及库文件 控制台中输入指令
yum -y install make zlib zlib-devel gcc-c++ libtool openssl openssl-devel
- 安装PCRE 在Windows10中下载安装包pcre-8.35.tar.gz,将安装包复制到虚拟机中的/usr/src文件夹,控制台输入cd /usr/src 进入此文件夹,再输入 tar pcre-8.35 解压文件,之后编译安装,先输入./configure检查完整性,再输入make && make install 进行安装。
- 安装Nginx 同上,进入文件夹解压,然后输入./configure和make && make install
2.2Windows系统下的安装
系统平台:Windows10
- 下载Nginx:下载地址
- 解压文件
- 直接双击运行nginx.exe或打开命令行,切换到解压目录,输入start nginx。
总结:Nginx作为目前最强大的代理服务器(没想到居然是俄国人开发的),现在的项目基本离不开它。