资源描述
Linux网络服务课程设计指导书
15
2020年4月19日
文档仅供参考,不当之处,请联系改正。
《LINUX LINUX系统》课程设计指导书
计算机与信息科学系
陈显龙
-12-24
一.目的
本课程是计算机应用(网络)所开设的一门重要实践课程,主要要求学生掌握LINUX系统原理和技术在实践中的应用。本课程设计的目的是使学生在理论学习的基础上,发挥自已的主观能动性,来解决一些实际数据和服务的安全应用问题。在此基础上,真正理解和掌握LINUX的应用,达到课程的教学目的。
二.题目
时间:十八周
地点:T603 、604
每位任选下列项目中任选二题,查阅相关文献、了解相关的系统,要求完成规定的各项任务。
1) Nginx+PHP+MySQL双机互备、全自动切换方案
2) 搭建可承受3万以上并发连接数的LNMP服务
3) Linux服务器系统监控框架与MSN、E-mail、手机短信报警的实现
4) 使用Linux的rsync命令实现:多服务器镜像同步
5) 基于 inotify + rsync 的大量文件的多服务器自动同步
6) Ubuntu下使用LINUXproxy+heartbeat搭建WEB负载均衡
7) SUSE Linux基于HeartBeat、Mon、Rsync搭建企业服务器的双机配置过程
三.任务完成形式
1. 完整的软件系统
最终必须向指导老师提交完整的电子版的配置过程截图、运行效果截图(均需要加上自已的IP地址),配置文件、以及使用说明文件等。
课程设计报告(详细要求请参考附录二)
课程设计报告总体上主要包括以下几个部分:
1)封面
2)目录
3)课程设计报告正文
4)软件安装、使用或者配置说明
5)参考文献
四.总体要求
根据所给的实验指导书的要求,从中选择项目,应用所学的知识,完成题目所规定的各项要求。总体要求如下:
1. 课程设计报告正文字数不少于5000汉字,概念清楚、叙述正确、内容完整、书写规范。
2. 课程设计中必须按指导书要求,综合应用所学的LINUX系统解决实际问题,有必要的理论分析,设计要有合理的依据。独立完成课程设计,不得抄袭她人。
3. 功能正确、有一定实用性,鼓励创新。
五.工作阶段与考核方法
大致上可分成五个阶段:
1.资料查阅准备阶段(15%)
2.分析设计阶段(35%)
3.设计调试阶段(40%)
4.课程设计报告书写阶段(10%)
5.验收阶段
考核方法:
只有程序验收经过后,才能按以下方法核定本次课程设计的总成绩,因未能独立完成设计(特别是抄袭)或概念不清的同学,总成绩将核定为不及格。总成绩由以下几个部分决定:
1. 考勤、纪律、实验室卫生
2. 工作量(查阅资料工作量、功能多少、难度、经历的曲折)
3. 关键技术
4. 实用性、创新
5. 课程设计报告(叙述、书写规范、字数)
6. 动手能力、分析问题解决问题能力
7. 答辩的情况(答辩时会问关于系统实现和本作品相关的理论知识的问题)
8. 互助协作方面的贡献及能力
六.任务具体要求
1、Nginx+PHP+MySQL双机互备、全自动切换方案
在实际企业应用中,某台“Nginx+PHP+MySQL”接口数据服务器,扮演的角色十分重要,如果服务器硬件或Nginx、MySQL发生故障,而短时间内无法恢复,后果将非常严重。为了避免单点故障,设计此套方案,实现了双机互备、全自动切换,故障转移。
自动切换流程
(1)、主机默认绑定内、外网虚拟IP,当主机的MySQL、Nginx无法访问或服务器宕机,主机上的failover.sh守护进程会自动摘除自己绑定的内、外网虚拟IP(如果主机上的failover.sh死掉,无法摘除自己绑定的虚拟IP也没关系),备机上的failover.sh守护进程会自动接管备机原来绑定的内、外网虚拟IP,并发送ARPing包给内、外网网关更新MAC,强行接管。
(2)、备机绑定虚拟IP后,会发送ARPing包给内、外网网关,通知网关更新虚拟IP的MAC地址为备机的MAC地址,从而保证了切换后能够经过虚拟IP及时访问到备机。
(3)、如果主机的MySQL、Nginx启动起来,全部恢复正常访问,主机上的failover.sh守护进程会检测主机上的MySQL数据是否已经完全从备机上同步过来。如果同步延迟时间为0,主机会自动接管内、外网虚拟IP,并发送ARPing包给内、外网网关,而备机也会自动摘除内、外网虚拟IP。
(4)、整个切换流程均由failover.sh自动完成,无需人工处理。
2)搭建可承受3万以上并发连接数的LNMP服务
在高并发连接的情况下, Nginx同时能够作为7层负载均衡服务器来使用。Nginx 0.7.51 + PHP 5.2.8 (FastCGI) 能够承受3万以上的并发连接数, 4GB内存的服务器+Apache(prefork模式)一般只能处理3000个并发连接,因为它们将占用3GB以上的内存,还得为系统预留1GB的内存。在3万并发连接下,访问Nginx 0.7.51 + PHP 5.2.8 (FastCGI) 服务器的PHP程序,依然速度飞快。使得国内使用 Nginx 作为 Web 服务器的网站也越来越多,其中包括新浪博客、新浪播客、网易新闻等门户网站频道,六间房、等视频分享网站,Discuz!官方论坛、水木社区等知名论坛,豆瓣、YUPOO相册、海内SNS、迅雷在线等新兴Web 2.0网站。请实现这个方案和目标。
3)Linux服务器系统监控框架与MSN、E-mail、手机短信报警的实现
一、系统监控接口程序(interface.php)具有的报警方式
1、MSN实时报警
监控程序每次检测到故障存在、或者故障恢复,都会发送短消息到管理员的MSN。
2、手机短信报警
①、工作日早上10点之前,晚上6点之后,以及周六、周日,监控程序检测到故障,会调用手机短信接口,发送短信给管理员的手机。
②、如果监控程序多次检测到同一台服务器的同一类故障,只会在第一次检测到故障时发送一条“故障报警”短信。服务器故障恢复后,监控程序会再发送一条“故障恢复”短信。
注:如果没有手机短信网关接口,能够试试中国移动通信的邮箱,具有免费的邮件到达手机短信通知功能,能够将收到的邮件标题以短信的形式发送到手机上。
3、电子邮件报警
①、如果监控程序多次检测到同一台服务器的同一类故障,只会在第一次检测到故障时发送一封“故障报警”邮件。服务器故障恢复后,监控程序会再发送一封“故障恢复”邮件。
4)使用Linux的rsync实现:多服务器镜像同步
实现功能:当用户在本地客户端某目录内建立、修改、删除目录或文件、修改目录或文件的属性,只要执行相同的shell脚本,rsync就会自动找出有改动或删除的数据,将其传送到服务器上,使服务器端某目录内的数据跟本地客户端某目录内的数据保持一致。
5)基于 inotify + rsync 的大量文件的多服务器自动同步
使用 Linux 2.6 内核的 inotify 监控 Linux 文件系统事件,被监听目录下如果有文件发生修改,sersync 将经过内核自动捕获到事件,并将该文件利用 rsync 同步到多台远程服务器。sersync 仅仅同步发生增、删、改事件的单个文件或目录,不像rsync镜像同步那样需要比对双方服务器整个目录下数千万的文件,而且支持多线程同步,因此效率非常高。无论编辑经过 Web 还是 FTP 上传图片、视频、附件,还是系统工程师直接去CMS发布服务器上增加、修改、删除文件,干完这些事情后不用做任何处理,sersync 会自动将发生增、删、改事件的文件同步到远程服务器。
6)Ubuntu下使用LINUXproxy+heartbeat搭建WEB负载均衡
使用ubuntu+LINUXproxy+heartbeat搭建大规模WEB集群环境,实现负载均衡。LINUXproxy提供LINUX、负载均衡 以及基于TCP和HTTP应用的代理, Heartbeat 用于实现故障转移,当一台机器DOWN后自动切换到备用机器
7)Suse linux基于HeartBeat、Mon、Rsync搭建企业服务器的LINUX系统
Suse企业版里提供的LINUX软件是一款专业的高可用集群软件产品,它不但仅是一款双机热备软件,它还为您提供Linux平台上完整的LINUX解决方案。当集群中的某个节点由于软件或硬件原因发生故障时,集群系统能够把资源切换到其它健康的节点上,使整个系统能连续不间断的对外提供服务,从而为机构24x365的关键业务提供了可靠的保障,达到了系统99.999%的LINUX和可靠性。SuSE Enterprise Linux 10.0是内置Linux 2.6.16内核的企业级服务器,较之SuSE Enterprise Linux 9.0,它在性能、可扩展性、易管理性和安全等方面都予以加强,并有众多硬件和应用软件支持。
HeartBeat是一个LINUX解决方案,其官方网站是 LINUX.org。HeartBeat当前被广泛地应用,是很多商业LINUX软件的重要组成部分。大多数Linux厂商已经把它很好地集成在自己的系统中,例如SuSE Linux、RedLINUXt和Debian Linux等。另外,HeartBeat也能很好地部署在Solaris和FreeBSD系统上。
Mon是一个后台服务运行情况的监控和告警软件,能够对大多数标准服务进行监控和告警,其中包括SMTP服务、Telnet服务、FTP服务、NNTP 服务、HTTP服务、POP3服务、Samba服务和NFS服务等,还能够自己编写告警事件和自定义服务。在本系统中,将使用Mon对两台主机的网络连接情况和服务运行情况进行监控,目的是及时告警,而且自动恢复服务。 Rsync是一个用于数据同步的软件,除了数据拷贝外,还有增量备份、同步owner、group和文件权限等重要信息的功能。在本系统中,使用 Rsync来同步主服务器和备用服务器的数据。
要求使用SuSE Enterprise Linux 10.0作为系统平台(使用其它Linux平台在安装部署时可能有小差异),在其上采用HeartBeat、Mon和Rsync等开源软件打造了一个高可用系统。
《LINUX网络服务》课程设计
题 目:
专 业:
年 级:
小组成员:
指导教师: 陈显龙 老师
时 间:
地 点:
东莞理工学院城市学院计算机与信息科学系制
12 月
《课程设计说明书》其它格式规定
一、纸张和页面要求
A4纸打印(手写的用学院标准课程设计说明书用纸);页边距要求如下:左边距为2.5厘米,上、下、右边距各为2厘米;行间距取固定值(设置值为18磅);字符间距为默认值(缩放100%,间距:标准)。
二、装订页码顺序
(1)封面,(2) 目录(注明页码),(3) 正文,(4) 参考文献。 装订线要求在页面左边。
三、章节序号
按照正式出版物的惯例,章节序号的级序规定如下:1、1.1、1.1.1、(1)、①
四、封面
采用统一规格,请参考本文档上一页所给出的封面格式。
五、目录
三号、黑体、居中、目录两字空四格、与目录的正文空一行。
六、正文
正文的页数不少于10页(不包括封面、目录、参考文献等),正文字数不少于8000。
正文的章节目序号按照正式出版物的惯例,章节目序号的层次顺序依次规定如下:
1、 1.1、 1.1.1、 (1) ①
正文一般分5~7个部分,参考下面的格式来写:
(1)前言。概述所作题目的意义、本人所做的工作、及系统的主要功能;
(2)系统分析。分析和描述所设计系统的基本要求与内容;
(3)功能设计。描述及绘制出系统的功能结构框图;
(4)所遇到的问题及分析解决。
(5)系统特色及关键技术。 必要时给出关键部分源代码,并准确指出其在程序中位置(文件名、行号)。
(6)测试。从多方面对软件功能和性能的测试,说明功能的实现情况。
(7)结论。完成情况、有待改进之处、对未来改进的展望、特殊说明、心得体会等。
正文的主要内容必须是对自己所作的设计工作的描述,不得大量抄录对特定软件技术的说明性文字和程序代码。设计方案图和软件运行界面的截图的总数不得超过10个,每个图形的大小不得超过1/3页大小(个别流程图等可适当不受限制)。
正文字体用小四,宋体。各级标题参考附录的毕业设计的范文。
所有的图的下方都要编号和命名, 比如 图2-2 系统结构图,其中前一个数字是代表章,后一个代表这一章的所有图中的序号。
所有的表的上方都要编号和命名,比如 表2-2 证书结构,数字用法如上。
正文的页眉统一采用“桂林电子科技大学课程设计(论文)报告用纸”。注意,要在正文和前面部分之间分节,这样才能保证页眉不出现在封面。
文中格式应当统一,首行都要缩进两个汉字位置。
七、谢辞
如果得到了同学的帮助,需要写出详细的谢辞,必须指出名字、帮助的内容和工作量。这些工作将计入这些同学的平时成绩。
鼓励去答疑,老师给予的帮助是本职工作,因此无需专门写谢辞,能够省略这一部分。
八、参考文献
参考文献要另起一页,一律放在正文后,不得放在各章之后。只列出作者直接阅读过或在正文中被引用过的文献资料,作者只写到第三位,余者写“等”,英文作者超过3人写“et al”。
几种主要参考文献著录表的格式为:
⑴专(译)著:[序号]著者.书名(译者)[M].出版地:出版者,出版年:起~止页码.
⑵期 刊:[序号]著者.篇名[J].刊名,年,卷号(期号):起~止页码.
⑶论 文 集:[序号]著者.篇名[A]编者.论文集名[C] .出版地:出版者,出版者. 出版年:起~止页码.
⑷学位论文:[序号]著者.题名[D] .保存地:保存单位,授予年.
⑸专利文献:专利所有者.专利题名[P] .专利国别:专利号,出版日期.
⑹标准文献:[序号]标准代号 标准顺序号—发布年,标准名称[S] .
⑺报 纸:责任者.文献题名[N].报纸名,年—月—日(版次).
请同学们参考一下的例子写:
参考文献(黑体四号、顶格)
[1] 王传昌.高分子化工的研究对象[J].天津大学学报,1997,53(3):1~7.
[2] 李明.物理学[M].北京:科学出版社,1977:58~62.
[3] Gedye R,Smith F,Westaway K,et al.Use of Microwave Ovens for Rapid Orbanic Synthesis.Tetrahedron Lett,1986,27:279.
[4] 王健.建筑物防火系统可靠性分析[D].天津:天津大学,1997.
[5] 姚光起.一种痒化锆材料的制备方法[P].中国专利:,1980-07-03.
[6] GB3100-3102 0001—1994,中华人民共和国国家标准[S].
(以上,序号用中扩号,与文字之间空两格。如果需要两行的,第二行文字要位于序号的后边,与第一行文字对齐。中文的用五号宋体,外文的用五号Times New Roman字体。)
九、附录
1.安装说明,安装的必须环境,操作系统的版本、所需的软件的名称和版本。
2.使用说明。
3. 软件开发进程日志,版本和功能更新情况。
4.必要的支持文献和资料。
5.其它。
展开阅读全文