linux在服务器集群的应用

来源:互联网 发布:sql培训机构 编辑:程序博客网 时间:2024/06/04 19:54

引言

    随着服务器需求量的不断增长,关于操作系统的研究也在近几年进行的异常火热。虽然Unix在服务器领域盘踞多年,因此作为类Unix系统的Linux,近几年在人们视野的曝光率也越来越高。著名的科技杂志《网络世界》从2010年1 月份开始,发起了一项关于“Linux 企业应用现状”的调查报告。通过各种不同的渠道搜集了来自金融产业、电信产业、能源产业、科研教育产业、医疗产业、制造业等许多不同类型的行业,以及众多政府机构的多位IT部门负责人的反馈,渴望通过真实的Linux在产业的真实的应用数据,推演出Linux在未来应用领域的发展趋势。

当前服务器领域主流的Linux 厂商,包括Red Hat、Novell,以及国内厂商中科红旗。本次调查主要对于市场占有率进行统计,其结果如下:


图 1-1 CNW关于Linux供应商用户比例

通过对于企业负责人的调研,发现Linux在企业应用前景的广泛性让人惊叹不已。二分之一以上的负责人表示对于Linux应用于企业关键业务的无限期望。鉴于Linux在邮箱服务器的广泛应用,企业愿意将自己的邮箱服务器替换为Linux系统。更有将近64.5%以上的负责人愿意将Linux应用于web服务器。虽然有些负责人表示Linux并没有在其企业中占有重要地位,但他们愿意将一些其他的产业应用Linux,逐渐接受并且对其进行实质性的考察。

伴随着调查结果以及近期Linux在服务器领域曝光率的增长,使我探查到了Linux在服务器领域应用的宽泛性。结合目前服务器市场的现状,Unix大型机虽然具有较为明显的性能优势,但是近几年出现市场占有率下降的现场,而Linux的用户量却得到较为明显的提升。解决Linux小型机与Unix系统之间的性能鸿沟。针对当前服务器市场的调研结果,通过对于Unix高性能大型机的系列探究以及结合Linux小型机的对比。借助于目前web服务器应用比较的Nginx项目为基础构建Linux小型机集群来替代Unix大型机,从而尽可能的减少服务成本,使得企业的收益增长,进而促进服务器技术的发展。

1 服务器操作系统种类及简介

服务器作为高性能计算机的简称,在网络中起到了枢纽的作用。对于网络上的数据进行处理和存储,比例达到80%之多,因此是名副其实的“网络的灵魂”。因此服务器操作系统的分类也会倾向于多元化趋势,但是大概可以归结为四大类。

1.1 Windows 操作系统

Window操作系统的开发者是Microsoft公司,windows系统一般应用于局域网配置模块,虽然能够在网络操作系统中处理能力比较强,但对服务器硬件设备的规格要求较高,因此在中低档服务器应用中占有一定权威。目前的版本主要有:Windows NT 4.0 Server、Windows 2000 Server/Advance Server,以及最新的Windows 2003 Server等,工作站系统可以采用任意的系统,包括个人操作系统,如Windows XP、Windows 7、Windows 8等。

1.2 Linux操作系统

Linux操作系统的开发者是林纳斯·托瓦兹,这类操作系统因为稳定性与安全性方面的表现,主要应用于中、高档服务器。原理比较类似于Unix。目前主要版本有RedHat、Ubuntu、Debain、Centos等,RedHat的拥有较大的用户量。

1.3 NetWare 操作系统                                                                                         

NetWare对硬件设备的门槛较低,同时批处理功能非常完善,在安全性和稳定性上也具有较高的评价。NetWare常用的版本主要有Novell的3.11、3.12、4.10、5.0等中英文版。

1.4Unix操作系统

Unix操作系统开发商是AT&T和SCO,对于大型的文件系统服务、数据服务等方面有着绝对的实力。因此UNIX在大型的网站或大型的企业或者事业局域网上应用较广,常用的UNIX系统版本主要有:UnixSUR4.0、HP-UX 11.0等。

2 Linux集群系统简介

早在七十年代计算机厂商和研究机构就开始了对集群系统的研究和开发。当时集群应用仅仅是局限于科学工程计算,因此集群系统的具有不足够的熟识度。随着互联网产业的兴起,Linux集群的概念开始走向历史舞台,在业界形成了自己的影响力。

 Linux集群主要可以划分为三个范围:1.负载均衡集群(LBC);2.高可用性集群(HAC);3.高性能也叫科学集群(HPC);

2.1负载均衡集群(LBC-Load Balancing Cluster)   

负载均衡集群的原理:负载均衡集群就是通过load balancer(负载均衡器)将系统的压力分担到多台服务器上,当后台某服务器节点出现问题时,系统仍能正常运行。通过虚拟的IP调度技术以及调度算法对真实节点服务器进行动态分发来自网络的客户的访问请求,只有当用户的访问请求满足设定的调度算法时,才会发生负载均衡调度,否则不进行负载均衡调度。


图 2-1 负载均衡集群的原理

   LoadBalancer(负载均衡器)的实现方式分为硬件和软件两种方式,作为两种原理不同的实现方式,它们的特点就相对明显。

2.1.1硬件方面应用

通过专门的负载均衡处理器,例如F5设备,硬件处理与系统无关,能够更加高效的进行处理,但是价格相对较昂贵(需要购置整套的设备链)。

2.1.2软件方面应用

软件控制的优越之处是基于特定环境,配置简单,使用灵活,成本低廉。目

前比较知名的是LVS和Nginx。

1.LVS

LVS (Linux Virtual Server),字面意思是一个虚拟的服务器集群系统。此项目是由章文嵩博士在1998年5月发起并进行。作为国内最早出现的自由软件项目之一,目前实现的技术存在三种:

(1)Virtual Server via NAT(VS-NAT):用地址翻译实现虚拟服务器地址转换器。产生被外界访问到的合法IP地址, ,当外界package送到转换器时,它能判断出应该将package转发至内网的哪个节点。优点是节省IP 地址,能对内部IP实行隐藏;缺点是效率低(返回给请求方的流量经过转换器)。

整个过程如图所示:

图 2-2  VS-NAT实现原理

(2)Virtual Server via Direct Routing(VS-DR):用直接路由技术实现虚拟服务器。集群节点和作为控制管理的节点在同一个网段时,控制管理的计算机接收到请求package时直接送到参与集群的节点。

整个过程如图所示:


图 2-3  VS-DR实现原理

(3)Virtual Server via IP Tunneling (VS-TUN):用IP隧道技术实现虚拟服务器。当集群的节点在不在同一个网段时,通过转发机制实现。安全的考虑, 将IP package封装,使用隧道技术中的VPN,也可使用租用专线来实现。

实现过程如图:


图 2-4  VS-TUN实现原理

2.Nginx

    Nginx在web方向应用广泛,结合目前的系统架构技术,在第四章详细说明。

2.2 高可用性集群 (HAC-High Availability Cluster)

高可用集群实现原理:通过高可用集群软件的监察和控制,达到故障检查和业务切换的自动化的效果, 尽可能的减少服务中断时间。理想的状态是,集群一直在运行。

典型的代表是双机热备,简而言之就是两台服务器互相备份。当集群某服务器节点出现故障时,另一台服务器节点承担服务任务,从而在没有人工干预的环境中,集群持续对外提供服务。

其过程大致如下:


图 2-5 双机热备工作原理

2.3高性能集群(HPC-High Performance Cluster)

这种集群一般企业或者个人很少应用到,主要应用于大规模的科学计算,例如气象建模、模拟撞车试验、人体基因绘图、及核爆炸模拟等。随着科技的发展,HPC开始应用于生活。除政府、教育和国家实验室等公共部门之外,HPC在制造、金融、能源、生命科学和数字媒体等行业都广受青睐。

实现过程大致如下:


图 2-6  高性能集群的原理

3 Linux小型机集群代替Unix大型机可行性分析    

3.1大型机和小型机概要

在我们对于大型机和小型机集群进行比较的时候,首先让我们先了解下我们要研究的对象是什么? PC(Personal Computer)个人电脑,一般情况下CPU的型号为Intel或者是AMD,内存相对比较低(一般2-16G不等),具备1-2个硬盘插槽,操作系统为个人操作系统(例如windows7)。而小型机,前期往往使用自己生产的CPU(IBM的Power),CPU的颗数会比个人多出几番(至少2颗),内存的最高配置可达512G(内存插槽多),具有可靠并且高容量的存储设备,使用厂家优化的操作系统。大型机,就显得神秘了许多,价格的昂贵是大型机显得神秘的主要原因之一,应用范围一般在高性能运算或超大型数据中心等,其硬件设备一般都是按需添加(CPU,内存,硬盘等),私人定制的操作系统又是大型机的一大特色。关于大型机和小型机的比较只能简单的通过硬件的对比让大家有一个雏形,其更多比较还是在性能上区分,其实并没有一个相对标准的界限。

3.2 Linux小型机集群和Unix可替代性分析  

3.2.1稳定性分析

硬件方面,当计算机集群系统中的某一台服务器节点出现硬件故障时,如:硬盘故障,在此服务器节点上运行的应用便切换到其它的服务器节点上。这样的系统设计不仅会有效的解决所有的服务器硬件故障,而且可以更加高效的处理问题。

软件方面,当硬件设备不存在故障时,服务器节点出现软件问题时,仍然不会对于服务。而计算机集群系统的最大的优势就在于故障服务器节点的监控是基于应用的。只要服务器的应用停止运行,其它的关联服务器节点就会替代这个服务器节点,并且提供相同的功能。

这样使得整个服务器集群的生存率得到大幅度的提高,服务器集群系统能够不间断的为客户端提供服务,使得整个系统的稳定性得到大幅度的提高。克服了小型机较大型机稳定性差的问题。

3.2.2性能分析

在理想的情况下,我们将计算机的计算能力归结于计算机CPU的运算速度。作为计算机的运算器与控制器,CPU的功效受到如下几因素关联:

(1)CPU 的主频(主频=外频*倍频)

CPU的主频,即CPU内核工作的时钟频率(CPU Clock Speed)。CPU的兆赫就是“CPU的主频”。IBM System z系列的大型机CPU主频为5.5 GHz,而IBM Power 720的CPU主频却只在3.6 GHZ。

(2)架构(Architecture)

合理的设计使得处理的器件能够有序安排并且能达到设计的和谐统一,从而在运行时协调一致达到高效率。这就是CPU的“体系结构”,简称架构。小型机(除IBM)大都采用Intel的CPU,这些CPU的架构都具有通用性,而大型机CPU往往都是“私人定制”,体系架构只针对于机器本身,因此性能就有非常不一般的提升。目前热门的架构就是INTEL 的酷睿系列,和AMD的K系列。

(3)CPU的核心数

CPU 性能的计算公式为:CPU性能=主频 * IPC,IPC(Instruction Per Clock)翻译为每个时钟周期内可以执行的指令数。CPU架构的设计演变直接对IPC值造成影响,并且制造工艺也关联主频的影响。另外,IPC的提高也可以通过并行计算来体现。最典型的例子就是集群系统的性能与CPU个数的关联:


图 3-1  集群系统CPU个数与性能的关系

由上可得大型机无论是在CPU的主频和还是CPU个数上都远远优于PC机。但是当我们应用集群技术,通过有效的设计可以明显的提高系统的运算能力。

3.2.3拓展性分析

服务器的可扩展性可以体现为硬件配置的可拓展性。服务器硬件配置一般都是按需配置。例如服务器为了存储高容量的数据信息,需要拥有更多的磁盘,所有较多的硬盘支架,一般的大型机服务器机箱都设有七八个硬盘托架,可以拓展硬盘的存放数量。这样的架构就能够提高服务器的可拓展性。大型机服务器为了提高自身的硬件拓展性,往往把许多PCI设备从机箱中移到机箱外单独的一个柜子中,通过一个特制的电缆来与服务器进行连接,这样一则可以节省服务器机箱的空间,再则可以使服务器的PCI设备具有更大的扩展空间。这种技术在IBM 中就称之为“Remote I/O”技术。而小型机往往因为性能的制约,拓展性与大型机相比较起来就逊色了许多。

集群系统可以有效的避免小型机系统产生的问题,可以在任何时期通过配置集群服务器的数量来达到和大型机一样的效果。

3.2.4成本分析

   小型机一般的价格在几万到几十万不等,即使高等配置也仅仅在百万左右,以下是IBM Power 720的中关村在线报价:


图 3-2  IBM Power 720中关村在线报价

关于大型机的报价最典型就是IBM System z系列,最低价格也要几百万,“上不封顶”,大型机一般的出售方案是IBM工程师来实地考察并且给予一套方案,后期的维护也有专人进行负责。

这样即使是建立一个庞大的集群组,相对于同规模大型机的价格也逊色了许多。

3.2.5安全性分析

   计算机的安全性的范畴非常广,在这里我们仅仅将计算机网络安全性作为我们研究的重心,拥有大量用户的Windows系统的安全性自然不容我们做较多评论,大型机系统一般都是专用系统,其软件都具有堵塞机制,能够有效防止恶意复制;大型机具有非常高超的加密技术不仅仅能够有效的抵制外部访问,也能够有效的控制内部访问;大型机同时具有良好的监察机制,有效的监视“内环境”,实现数据安全性等,而小型机往往因为实施费用的限制,安全性就比起大型机逊色的多。但是作为一个小型机集群往往会有一套完整的机制进行实习监控,并且能够通过有效的安全架构来提高网络安全性,但是由于小型机自身的安全性局限,使得集群本身安全性较大型机来讲还是存在一定的缺陷。

3.2.6 操作难易程度

我们主要将大型机和小型机的难易程度分解为操作难易程度和安装的难易程度,至于大型机的安装我们就不做任何的评论了,只要你有足够的财力买的起大型机,厂商就会为你提供非常完善的服务,会有专门的工程师为你搭建环境,为你建设机房,当然这一套系统的安装困难程度真是无可厚非。在这里我们主要分析下操作的难易程度,Unix与Linux系统的用户跟Windows用户的基数比,肯定具有很大的差距。专用系统的Unix往往具有专门的命令大全,这样使得Unix系统操作难度具有一定的难度,另外Internet上的使用说明也是寥寥无几。但是相对于小型机的操作规范文档以及使用说明就显得丰富多彩,以及许多困难解答将直接降低用户的操作难度。小型机集群的建设相对于小型机来讲相对复杂一些,但是相对于大型机的操作难度还是差的多。

3.3 小型机集群特点归纳

关于小型机集群优点总体可以概括为:提高性能、降低成本、提高拓展性、增加可靠性。这样的特性恰好的缩短了大型机和小型机的差距。但是不可忽视的一点是集群在某些应用情况下还是存在性能瓶颈。在这里我们只讨论Linux小型机集群替代Unix大型机的可行性,关于在高性价比和高性能之间的权衡关系,还需要根据业务的需要另作商议。


图 3-3  Unix大型机与Linux小型机的比较


图 3-4  Unix大型机与Linux小型机集群的比较

4.Linux小型机集群代替Unix大型机具体实现

   经过一系列的分析与调研我们拥有充足的理由来架设一套Linux小型机集群系统来代替Unix大型机,我们就暂时将我们的集群系统定义为处理大宗商品电子交易的在线交易系统。

4.1在线交易系统架构分析以及设计

在线交易系统除了对于系统稳定性,安全性要求比较严格外,对于系统的吞吐量更有着自己独有的要求。系统需要能够及时处理大量用户的访问,并且能够对于用户的关键的数据及时的进行备份,保证数据的完整性与稳定性。

鉴于交易系统集群的高并发性以及高跨平台性的要求,我们将web服务器通过Tengine+Tomcat的模式来进行集群系统的架设;鉴于交易系统数据的安全性以及系统稳定性要求,数据存储使用Oracle数据库,Oracle数据库服务器采用RAC集群架构;为了缓解数据访问的瓶颈问题,以及降低数据库服务器的访问次数,我们采用Memcached或者Redis来缓解;对于特定情况下大量访问请求造成的网络堵塞,我们加入负载均衡服务器来均衡流量。关于这套体系的集群系统的软件拓扑如下:


图 4-1在线交易集群系统的软件架构

上图简化了网络和连接的方式,重点从系统逻辑上描绘了应用服务角色之间的关系。各逻辑角色均为至少双活,相同功能的应用服务数量支持从1到n的伸缩扩展,之间能够共享会话,同一用户在一次会话超时或登出之前均保持由同一个应用服务器提供服务。相同功能的服务器并且所有应用角色均可以实现Scale Out的扩展。保证可靠性和安全性的同时,方便后续业务规模的拓展和用户量的增长。

双通信链路和双负载均衡器加集群的部署方案可以极大提高系统可靠性。从网络接入区域到应用服务区到核心区,通过两条高速主干链路将各系统连接起。在每一层都配置了两台交换机,每台服务器都同时与两台交换机连接,以组建集群的基础网络。网络拓扑图如下:


图 4-2 系统网络拓扑示意图

4.2在线交易系统集群分析与设计    

4.2.1方案分析以及选用

第一种设计思想是,所有的集群系统的成员都具有相同的功能,由统一的“分配服务器”进行分配处理,实现功能的均分处理,“分配器服务器”通过单纯的转发关系实现功能的均分处理,但是这样的处理方式使得系统中一些性能好的机器造成浪费,但是有利于解除系统与机器之间的耦合度,机器与机器之间相对独立。

第二种设计思想是,将集群系统划分为多个子系统,通过“分配服务器”进行分配处理,实现系统的专用处理,使得主要的业务模块和次要的模块得到分离,当主要业务需要增加集群数量的时候,能够更加方便的使得系统得到拓展,但是这样的部署方案不利于机器与系统的分离,当业务量没有那么大的时候造成性能浪费,并且系统功能得到发展时,需要重新设计部署方案。

总而言之,从提高系统稳定性的角度出发,并且能够使得系统内的机器得到高效率的应用,我建议将集群系统的架构设计为模块与模块之间进行功能划分,对于模块之内采用均分划分。基础设计如图:


图 4-3  在线交易系统基础架构图

4.2.2技术简介及剖析

    在线交易系统集群系统采用Nginx软件为基础构件。Nginx("engine x") 可作为高性能的HTTP和反向代理服务器,同时也能成为IMAP/POP3/SMTP服务器(邮件服务器)。开发者是Rambler.ru站点。公开版本0.1.0发布于2004年10月4日。因为开发的语言是C语言,从而具有高稳定性,低消耗的特点。Nginx被广泛应用于web服务器领域。

4.3在线交易集群系统的具体实现

4.3.1 Nginx在Linux环境下的安装及其相应组件安装

Nginx依赖于GCC,OPENSSL,ZLIB,PCRE这些软件库,在安装前需要对于系统环境进行了解(可通过rpm  -q命令查询是否已安装)。因为GCC、OPENSSL、ZLIB一般为Linux的自带系统库,我们首先我们来安装下PCRE库(http://www.pcre.org/)。

从网上PCRE下载到系统的/home目录下,选择的版本为 pcre-8.10,下载完毕之后需要执行Linux命令:

[xhcp@xianhuo-yfhome]#tar –zxvf pcre-8.10.tar.gz 

[xhcp@xianhuo-yfhome]#cd pcre-8.10          

[xhcp@xianhuo-yfpcre-8.10]#./configure        

[xhcp@xianhuo-yfpcre-8.10]#make               

[xhcp@xianhuo-yfpcre-8.10]#make install   

安装完PCRE库后开始安装Nginx。Nginx的官方网站(http://nginx.org/)Nginx的版本为开发版和稳定版两种(此时下载稳定版本),此时下载的版本号是nginx-1.0.2。执行以下操作进行安装:

[xhcp@xianhuo-yfhome]#tar -zxvf nginx-1.0.2.tar.gz  

[xhcp@xianhuo-yfhome]#cd nginx-1.0.2              

[xhcp@xianhuo-yfnginx-1.0.2]#./configure              

--prefix=/usr/local/nginx-1.0.2                       

[xhcp@xianhuo-yfnginx-1.0.2]#make                 

[xhcp@xianhuo-yfnginx-1.0.2]#make install  

在默认情况下,Nginx存在许多可用模块,查看命令为“./configure --help”。为了节省不必要的系统开支,可以对此进行适当的启用和禁用操作,操作命令为“—without–model_name”(禁用用)和“—with –model_name”(安装/启用)。

例如:

--with-pcre=/usr/src/pcre-8.21    

--with-zlib=/usr/src/zlib-1.2.7      

安装完成后执行以下操作验证安装是否成功:

[xhcp@xianhuo-yfhome]# cd /usr/local/nginx-1.0.2/sbin     

[xhcp@xianhuo-yfnginx-1.0.2]# ./nginx –t

结果显示:

nginx:the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok
nginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful

Nginx已成功完成安装。


                             图 4-4  Nginx访问成功展示

4.3.2 Nginx配置以及集群搭建

我们对于安装好的Nginx进行简单的配置来完成集群系统的搭建,关于配置文件的配置见附录A。

4.3.3 集群系统成果展示


图 4-5 系统搭建成功之后成果展示

    当存在大量用户访问时,系统可以有效的将用户的请求分配到对应的集群组中,使得请求得到最高效的处理;当某一个节点访问量骤增时,我们可以通过添加该集群系统的服务器数量或者是增加子集群来应对访问量的问题。

5.总结

鉴于Linux集群技术的不断进步与发展,仅仅就近几年比较流行的web服务系统中的交易系统为模型,构建了一个以Nginx为基础的Linux小型机集群系统。通过从最初的系统分析到最后的集群系统的搭建,最后到集群系统的成果展现。足够的证据证实Linux小型机集群系统替代Unix大型机系统的可行性。该在线交易系统将不同的模块存放到提前约定好并且已经部署好的集群系统中,当有大量的用户同时并行计算时,既能灵活的应对这样的数据挑战,又能够安全的对数据进行有效的备份,使得系统既稳定又安全。当我们将这样的在线交易系统以大型机为基础进行构建时,虽然在以上各个方面可以有效的应对,但是当系统的需求量远远的少于系统的配置时,我们可以将集群系统进行有效的拆分,将拆卸下来的机器及时的应用于需要的地方而不影响系统的稳定。但是相对于大型机来说,拆卸就没有那么方便,即使能够拆卸成功,那么拆卸下来的设备如何使用,这又是一个需要探讨的切入点。

企业存在的意义在于盈利,当Linux小型机集群系统能够替代Unix大型机的稳定性以及安全性的时候,企业会毫不犹豫的对于集群系统进行研发和使用。Linux小型机集群替代Unix大型机势必会成为一个未来服务器领域发展的趋势。但是有一个观点是不容置疑的,大型机在计算能力等领域的成就是不容小觑。虽然Linux小型机集群集各种优点于一身,但是集群系统的处理强度往往受到关键节点的影响,在财力允许的前提下,可以适当的对于关键节点进行升级,必要时可以采用大型机系统来充当关键节点,增加系统的抗压性。

总而言之,Linux在服务器领域的应用具有高度的宽泛性。本文关于Linux小型机集群替代Unix大型机的方案是可行的。通过正确的配置,规范的制约,以及优秀的设计,在网络运算以及服务提供等方面是可以替代Unix大型机系统完成任务,并且成本相对较低,能够为服务提供商提供更高的收益。完成同样的任务,却降低了足够的成本。如此巨大的优势的引导下,可以判定Linux是未来服务器应用领域的“潜力股”。

致谢

经过一个多月的不断研究与修订,毕业设计已经基本完成。首先,我要感谢我的指导老师孔祥真老师。感谢老师能够开启这么好的课题,以及在论文撰写过程中给予的悉心指导和大力帮助。同时我也要非常感谢学校以及校领导,给予我一个如此优良的学习环境,让我为这次毕业设计和以后的工作打下了扎实的基础。  

另外,我还要感谢公司的经理和同事,一直都在身边支持我,在设计过程中给予我的启发与技术支持。最后,在这里还要对家人表示深深的感谢,谢谢他们这么久的无条件的温暖,没有他们的关怀和爱护,我想我就无法顺利地完成这次毕业设计。感谢这一切的幸运!

参考

[1] (美)科珀(KarlKopper).Linux企业集群—商用硬件和免费软件构件高可用集群[M].沈金河,北京:水利水电出版社.2007.

[2] 高俊峰.循序渐进-Linux基础知识、服务器搭建、系统管理、性能调优、集群应用[M].北京:人民邮电出版社.2009.

[3] 李智慧.大型网站技术架构:核心原理与案例分析[M].北京:电子工业出版社.2013.

[4] 陈小全,张继红.Linux服务器架设、性能调优、集群管理教程—实训与项目案例.[M].北京:北京邮电大学出版社.2011.

[5] VMware在计算机实验教学中的应用[J].软件导刊.2009.10期.

[6] LVS中文站点[OL]http://zh.linuxvirtualserver.org/.

[7] (法)内德尔库(Clement Nedelcu).学习Nginx HTTP Server(中文版)[M].陶利军,北京:清华大学出版社.2012.

[8] 鸟哥.鸟哥的Linux私房菜基础学习篇(第三版)[M].北京:人民邮电出版社.2010.

[9] 鸟哥.鸟哥的Linux私房菜服务器架设篇(第三版)[M].北京:人民邮电出版社.2012.

 

附录

Nginx转发规则配置

http {

   #...

   server {

       listen       14163;

       ssi on;

       location ~ .*\.(jsp|do|shtml|asp)?$ {

                ssi on;

                proxy_set_header Host$host:$server_port;

                proxy_set_header X-Forwaded-For$remote_addr;

                proxy_set_headerX-Forwaded-Domain 2300 ;

                proxy_passhttp://192.168.10.1:6103;

       }

       location  ^~ /upload/ {

                        proxy_set_header Host$host:$server_port;

                        proxy_set_headerX-Forwaded-For $remote_addr;

                        proxy_set_headerX-Forwaded-Domain 2300         ;

                        proxy_pass http://192.168.10.1:6103;

       }

       location  ^~ /etrade/ {

                        proxy_set_header Host$host:$server_port;

                        proxy_set_headerX-Forwaded-For $remote_addr;

                        proxy_set_headerX-Forwaded-Domain 2300         ;

                        proxy_pass http://192.168.10.2:6203;

       }

       location  ^~ /gzql/ {

                      proxy_set_header Host $host:$server_port;

                        proxy_set_headerX-Forwaded-For $remote_addr;

                        proxy_set_headerX-Forwaded-Domain 2300         ;

                        proxy_pass http://192.168.10.3:6203;

                }

       location  ^~ /webpage/etrade/ {

                        proxy_set_header Host$host:$server_port;

                        proxy_set_headerX-Forwaded-For $remote_addr;

                        proxy_set_headerX-Forwaded-Domain 2300         ;

                        proxy_pass http:// 192.168.10.4:6203;

       }

       location  ^~ /bankfinancing/ {

                        proxy_set_header Host$host:$server_port;

                        proxy_set_headerX-Forwaded-For $remote_addr;

                        proxy_set_headerX-Forwaded-Domain 2300         ;

                        proxy_pass http://192.168.10.5:6303;

                }

       location  ^~ /dict/ {

                        proxy_set_header Host$host:$server_port;

                        proxy_set_headerX-Forwaded-For $remote_addr;

                        proxy_set_headerX-Forwaded-Domain 2300         ;

                        proxy_pass http://192.168.10.6:6203;

                }

       location ^~ /WEB-INF {

                deny all;

       }

       #...

   }

}

1 0
原创粉丝点击