您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 销售管理 > 基于NGINX的代理服务器搭建-毕业论文-河源职业技术学院
毕业设计论文题目基于NGINX的代理服务器搭建学院:电子与信息工程学院学生姓名:林耀文专业班级:12级计算机网络技术1班学号:2012120135指导教师:叶红卫2015年6月16日毕业设计I摘要Nginx最大的特点是对高并发的支持和高效的负载均衡,在高并发的需求场景下,是Apache服务器不错的替代品。负载均衡,单从字面上的意思来理解就可以解释多台服务器平均分担负载,不会因为某台服务器负载高宕机而某台服务器闲置的情况。那么负载均衡的前提就是要有多台服务器才能实现,也就是两台以上即可。基于Liunx系统搭建Nginx服务器,需要复杂的环境包,包括zlib、zlib-devel、gcc-c++、libtool、openopenssl、openssl-devel、pcrepcre-devel,这些环境包插件对于搭建Nginx服务器缺一不可。本次设计中,我们同样采用基于Nginx搭建Web应用服务器,另一台则作为Nginx负载均衡服务器。Nginx配置负载均衡使用的模块是ngx_http_upstream_modulenginx。我们配置负载均衡使用的算法有:轮询、加权轮询、iphash。设计采用加权轮询算法就是在轮询算法的基础上,给服务器加上权重(weight),客户端请求根据权重比例分配到后端服务器上,其实轮询算法的权重都是一样的。关键词:NGINX;代理服务器;负载均衡;Web应用服务器毕业设计II目录摘要..........................................................................................................I目录..........................................................................................................II第一章绪论...............................................................................................11.1背景分析........................................................................................11.2负载均衡器......................................................................................1第二章部署服务器......................................................................................32.1什么是虚拟主机技术........................................................................32.2什么是正向代理与反向代理..............................................................32.3两者区别.........................................................................................42.4为什么需要负载均衡代理服务器.......................................................4第三章基于NGINX的代理服务器搭建...........................................................63.1NGINX代理服务器搭建基本环境.......................................................63.2代理服务器搭建的前期准备..............................................................63.3代理服务器NGINX的安装和配置.......................................................83.4基于NGINX网页服务器的安装和配置...............................................143.5负载均衡服务器的搭建与实现..........................................................17结束语........................................................................................................21参考文献.....................................................................................................22致谢........................................................................................................23毕业设计1第一章绪论1.1背景分析Nginx是一个很牛的高性能Web和反向代理服务器,它具有有很多非常优越的特性:在高连接并发的情况下,Nginx是Apache服务器不错的替代品:Nginx在美国是做虚拟主机生意的老板们经常选择的软件平台之一.能够支持高达50,000个并发连接数的响应,感谢Nginx为我们选择了epollandkqueue作为开发模型.Nginx作为负载均衡服务器:Nginx既可以在内部直接支持Rails和PHP程序对外进行服务,也可以支持作为HTTP代理服务器对外进行服务.Nginx采用C进行编写,不论是系统资源开销还是CPU使用效率都比Perlbal要好很多.作为邮件代理服务器:Nginx同时也是一个非常优秀的邮件代理服务器(最早开发这个产品的目的之一也是作为邮件代理服务器),Last.fm描述了成功并且美妙的使用经验.Nginx是一个安装非常的简单,配置文件非常简洁(还能够支持perl语法),Bugs非常少的服务器:Nginx启动特别容易,并且几乎可以做到7*24不间断运行,即使运行数个月也不需要重新启动.你还能够不间断服务的情况下进行软件版本的升级1.2负载均衡器Ningx作为负载均衡器的同时也是反向代理服器,配置语法相当简单,可以按轮询、IP_hash、url_hash、权重等多种方法对后端的服务器作负载均衡,同时还支持后端服务器的健康检查。另外,它相对于LVS比较有优势的一点,由于它是基于第七层的负载均衡,是根据报头内的信息来执行负载均衡任务,所以对网络的依赖比较小,理论上只要ping得通就能够实现负载均衡;在国内,Nginx不仅作为一款性能优异的负载均衡器,它同时也是一款适用于高并发环境的WEB应用软件,在新浪、金山、迅雷在线等大型网站都得到了应用,其作为负载均衡器的优点如下:1.配置文件非常简单:风格跟程序一样通俗易懂。2.成本低廉:Nginx为开源软件,可以免费使用。而购买F5BIG-IP、毕业设计2NetScaler等硬件负载均衡交换机则需要十多万至几十万人民币。3.支持Rewrite重写规则:能够根据域名、URL的不同,将HTTP请求分到不同的后端服务器群组。4.内置的健康检查功能:如果NginxProxy后端的某台Web服务器宕机了,不会影响前端访问。5.节省带宽:支持GZIP压缩,可以添加浏览器本地缓存的Header头。6.稳定性高:用于反向代理,宕机的概率微乎其微。特别是通过跟踪一些已上线的项目,发现在高并发的情况下,Nginx作为负器均衡器/反向代理宕机的次数几乎是零。毕业设计3第二章部署服务器2.1什么是虚拟主机技术利用虚拟主机技术,可以把一台真正的主机分成许多虚拟的主机,每一台虚拟主机都具有独立的域名和IP地址,具有完整的Internet服务器()功能。虚拟主机之间完全独立,在外界看来,每一台虚拟主机和一台独立的主机完全一样。效果一样但费用却大不一样了。由于多台虚拟主机共享一台真实主机的资源,每个虚拟主机用户承受的硬件费用、网络维护费用、通信线路的费用均大幅度降低,Internet真正成为人人用得起的网络!目前生产环境中,大多数服务提供商都采用了虚拟主机的方式为客户提供web服务,虚拟主机包括基于IP的虚拟主机,基于端口的虚拟主机和基于名称的虚拟主机,由于目前最流行的是基于名称的虚拟主机,也就是可以通过相同端口、相同IP对应多个域名站点,本设计以这种方式为主进行讲解。2.2什么是正向代理与反向代理正向代理,也就是传说中的代理,他的工作原理就像一个跳板,简单的说,我是一个用户,我访问不了某网站,但是我能访问一个代理服务器,这个代理服务器呢,他能访问那个我不能访问的网站,于是我先连上代理服务器,告诉他我需要那个无法访问网站的内容,代理服务器去取回来,然后返回给我。从网站的角度,只在代理服务器来取内容的时候有一次记录,有时候并不知道是用户的请求,也隐藏了用户的资料,这取决于代理告不告诉网站。结论就是,正向代理是一个位于客户端和原始服务器(originserver)之间的服务器,为了从原始服务器取得内容,客户端向代理发送一个请求并指定目标(原始服务器),然后代理向原始服务器转交请求并将获得的内容返回给客户端。客户端必须要进行一些特别的设置才能使用正向代理。反向代理的概念继续举例:用户访问,但页面,他是偷偷从另外一台服务器上取毕业设计4回来,然后作为自己的内容返回用户,但用户并不知情。这里所提到的这个域名对应的服务器就设置了反向代理功能。结论就是,反向代理正好相反,对于客户端而言它就像是原始服务器,并且客户端不需要进行任何特别的设置。客户端向反向代理的命名空间(name-space)中的内容发送普通请求,接着反向代理将判断向何处(原始服务器)转交请求,并将获得的内容返回给客户端,就像这些内容原本就是它自己的一样。2.3两者区别从用途上来讲:正向代理的典型用途是为在防火墙内的局域网客户端提供访问Internet的途径。正向代理还可以使用缓冲特性减少网络使用率。反向代理的典型用途是将防火墙后面的服务器提供给Internet用户访问。反向代理还可以为后端的多台服务器提供负载平衡,或为后端较慢的服务器提供缓冲服务。另外,反向代理还可以启用高级URL策略和管理技术,从而使处于不同web服务器系统的web页面同时存在于同一个URL空间下。从安全性来讲:正向代理允许客户端通过它访问任意网站并且隐藏客户端自身,因此你必须采取安全措施以确保仅为经过授权的客户端提供服务。反向代理对外都是透明的,访问者并不知道自己访问的是一个代理。2.4为什么需要负载均衡代理服务器如何将Web服务器集群当作一个城池,那么负载均衡服务器则相当于城门,重要性不言而喻。如果“城门”关闭了,与外界的通道也就掐断了。如果只有一台Nginx负载均衡服务器,当该服务器发生故障时,则会导致整个网站无法访问。因此,我们需要两台以上的Nginx负载均衡服务器,实现故障转移与高可用。双机高可用一般是通过虚拟IP(也称漂移IP)方式来实现的,基于Linux/Unix的IP别名技术。双机高可用方式目前分为两种:第一种方式为一台主服务器和一台热备服务器,正常情况下主服务器绑定一个公网虚拟IP,提供负载均衡服务,热备服务器处于空
本文标题:基于NGINX的代理服务器搭建-毕业论文-河源职业技术学院
链接地址:https://www.777doc.com/doc-2534646 .html