中小型网站服务器架构设计研究-精品文档.docx

上传人:安*** 文档编号:17833891 上传时间:2022-05-26 格式:DOCX 页数:6 大小:18.60KB
返回 下载 相关 举报
中小型网站服务器架构设计研究-精品文档.docx_第1页
第1页 / 共6页
中小型网站服务器架构设计研究-精品文档.docx_第2页
第2页 / 共6页
点击查看更多>>
资源描述

《中小型网站服务器架构设计研究-精品文档.docx》由会员分享,可在线阅读,更多相关《中小型网站服务器架构设计研究-精品文档.docx(6页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、中小型网站服务器架构设计研究摘要:传统的网站中,为了提高性能使用更多CPU、更大内存、更强的磁盘阵列的小型机,这无疑会使网站初期就要投入大量成本。由于成本的原因,中小型网站不可能选择昂贵的小型机。介绍一个中小型网站的架构设计,使用多台普通服务器搭建网站能够实现高可靠性、高性能、可伸缩性等特征。关键词:服务器;高性能;可伸缩性随着互联网的普及,越来越多的个人、机构、企业接入互联网。对于一些机构和企业来讲,建设网站能够展示本身,开展相关业务,这几乎是当前这个时代必不可少的部分。对于这些网站来讲,首先,应该要有较高的可靠性,在成本允许的范围内减少一年中的故障时间。除了选择可靠性高的服务器、磁盘阵列外

2、,提高可靠性最有效的方法是使用双机或多机热备份。其次,要有较高的安全性,安全性包括保密性、完好性、和可用性。保密性就是要确保重要信息不被非受权地窃取,这主要依靠于软件系统的设计与实现;完好性要确保信息不被伪造、篡改、删除以及意外丢失,这除了软件系统的设计外,在服务器上能够通过双机备份,异地数据备份实现;服务器上的可用性主要体如今能抵抗各种类型的拒绝服务攻击DenialofService。第三,服务器架构应具备可伸缩性,对于企业或机构来讲,初期可能业务量少,用户访问量少,需要的服务器性能也低,随着时间的推移,更多的用户访问,需要更强的服务器能力。这时需要增加服务器来分担用户访问负荷,这一经过中架

3、构不应有大的调整,十分是软件部分不应有大调整,由于软件的重新开发需要消耗大量的人力。1服务器的架构设计1.1整体架构设计架构如图1所示,服务器类型分为反向服务器、Web服务器、数据库服务器。对于初期小型网站来讲,能够根据情况将这三种类型的服务器部署到一台物理服务器上,以节约成本。当需要扩展时,将其分布到多台物理服务器上。1.2操作系统的选择目前在网站建设中最常见的操作系统是Linux和WindowsServer系统,Linux的优点体如今它是开源免费的软件,不需要额外支付软件许可费用。同时多数服务器软件如Redis、Nginx、MyCat等在Linux平台上有更好的表现。Windows的优势主

4、要体如今其操作日常人们的操作习惯类似,没有特殊情况应选择Linux操作系统。1.3服务器软件的选择多数支持HTTP协议的Web服务器都能支持反向Reverseproxy,如Nginx、Apache、Squid、Ligd等,其中Nginx拥有更好的性能、内存占用少,十分是Nginx社区比拟活跃,软件功能模块也多,十分是在高并发情况下比Apache有更好的性能1-2,所以推荐使用Nginx。1.4Web服务器的选择Web服务器的选择愈加依靠于软件架构的设计,目前常见的后端开发技术有PHP、Java等,假如使用PHP开发能够选择php-fpm或者Apache,假如使用Java技术,多使用Tomcat

5、。1.5数据库服务器的选择对于中小型网站来讲,多使用免费的MySQL作为数据库,当然可以以根据实际情况使用Oracle、PostgreSQL等。2服务器相关技术设计2.1Nginx反向设计配置如下所示,在根的位置/将所有的请求转发到反向abcupstreamabc上,可根据实际情况调整,比方将静态的HTML和JPEG调整到特定的服务器上。要注意根据软件的情况将HTTP报头传到后端,主要配置如下所示:反向能够HTTP请求分配后多个后端服务器上,到达负荷分担的效果。同时,假如某个服务器发生故障,会被剔除出去,实现多机热备份的功能3。Nginx有多种负荷平衡方式,默认情况下采用轮询的方式,另外还能够

6、使用ip_hash和权重等方式。十分要注意的是除了采用ip_hash方式,其他的方式会导致同一用户的请求分配到不同的服务器上,这时应考虑使用Session分享技术,保证数据的正确性4。2.2文件同步设计当有多台web服务器时,需要保证文件内容的同步。Unison是一个多平台上的文件同步工具,能够自动完成两台服务器目录文件的同步,它支持SSH、RSH和Socket等多种网络协议的同步。Unison安装后会在用户目录下生成一个名为.unison的隐藏目录,在其中存放配置文件、日志文件等。default.prf是其配置文件,关键配置如下:假如是快速检查,unison会根据文件生成的时间来确定版本的先

7、后,能否需要同步。否则会比照两个文件的异同,多数情况下使用快速检查即可。配置好后利用,利用cron计划任务定期调用unison即可,要注意非快速检察花费时间非常长,不合适频繁调用。2.3数据库主从复制设计对于一般的中小型网站推荐使用免费的MySQL数据库,主从复制就是一台MySQL数据库服务器担任主服务器Master,多台服务器担任从服务器Slave,能够向主服务器中读或者写数据,但只能对从服务器执行读操作。从服务器根据主服务器发来的日志信息,和主服务器保持同步2。但这种同步是非实时的,比方向主服务器写入一条数据,立即读从服务器,不会得到更新后的数据,这是开发软件的人员要注意的地方。由于从服务

8、器是依靠主服务器的日志才能更新数据库,因而要打开日志查看主服务器的日志状态,并记录日志位置,然后在从服务器上将日志调整到与主服务器一样的位置即可。2.4读写分离的设计数据库实现主从复制后,这对软件开发者不是透明的,由于写数据是一个服务器,读数据又是另一个服务器,那么能够使用数据库中间件技术屏蔽这些差异。MyCat就是其中的佼佼者,它能够实现分库分表,读写分离,故障服务器剔除等。软件开发者将不再需要考虑读写分离的软件在其中添加一个读服务器一个写服务器,主要配置如下:2.5session分享设计使用Nginx反向,可能会出现同一用户的请求分发到不同的服务器上,这样必须保证用户数据的一致性。储存在数

9、据库的数据是多台服务器分享的,不会出现不一致的情况,而用户的session数据是在服务器上存储,不能多机分享,因而反这种情况必须实现session分享。如今常见的是使用缓存数据库如Redis、Memcache。相对来讲Redis功能比拟丰富,除了支持Key/Value类型的数据外,还支持list、set、hash等数据类型,另外redis还能把数据持久化到硬盘中。Memcache的只能将K/V类型的数据存在内存中,程序异常结束将失去所有数据。这里我们以Memcache+PHP为例,实现安装好Memcache,以及PHP中的Memcache模块,在PHP的配置文件PHP.ini中完成如下配置传统的网站中,为了提高性能使用更多CPU、更大内存、更强的磁盘阵列的小型机,这无疑会使网站初期就要投入大量成本。使用多台普通服务器搭建网站能够实现高可靠性、高性能以及易拓展性,这种方案愈加合适于中小型网站的建设。

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 技术资料 > 实施方案

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁