曾俊杰 吴慕云 李强 王梅 郭立辉
摘要:
如今,日益壮大的WEB技术已经成为网络中十分重要的组成部分,由于Linux系统本身有着很好的安全性和可靠性以及非常丰富的开发工具等优势,使得linux系统成了当今WEB服务器的最好载体。本文主要介绍了在虚拟机中的linux环境下,使用Apache及Tomcat软件作为服务器的核心,在加上MYSQL和PHP等工具,搭建一个全能且稳定的的WEB服务器。同时还对服务器进行简单优化,相对降低服务器的系统资源占用率,提高服务器的负载能力,使服务器实现更加低消耗,高性能的目标。
关键词:
Linux;WEB;服务器
中图分类号:
TP391.41
文献标识码:
A
文章编号:
1672-9129(2020)15-0058-02
引言:目前国内外对于Web技术的研究一直都很有热情,而Web也渐渐的从一个以提供信息为基础的网页集群转变为提供更多的服务。[5]在服务器操作系统这方面,近些年来Linux操作系统在某些领域成为了Windows的重要竞争对手,并且以一个惊人的速度发展。Linux系统也支持多用户操作,每个用户对文件或着设备的权限都不相同,同时Linux还解决了多个用户不同权限的冲突,使所有用户都可以共存。[6]身为一款世界上接受最多程序员设计的系统,Linux也支持多任务并且可以很好的让多个程序同时运行在内核上。[1]国外的众多IT厂商如IBM、ORACLE等都相继的公布了基于LINUX系统的产品,并希望用Linux来打破微软在操作系统方面的垄断,从而获得更大的成长空间。[2]在大趋势的前提下,使用Linux作为服务器操作系统已经变得越来越流行,市场占有率也逐步提升达到了一个很高的水平。
1主要研究内容
在PC中虚拟机中安装linux系统并中完成Web服务器的搭建,并对服务器进行简单的优化,提高Web服务器的整体性能,减少服务器占用的资源,提高负载能力。
Linux系统下的Web服务器主体由Apache和Tomcat软件来完成,通过安装Apache来获取基础Web服务,并在Apache中进行简单配置开放CGI功能。再整合Tomcat和Apache两个服务器,使服务器在支持HTML网页的同时也能够支持JSP网页。然后配置PHP环境与Apache连接来获取对PHP动态网页的支持。最后通过安装Mysql数据库服务器来实现服务器数据的存储与查询功能,完成在linux环境中一个全能的Web服务器的搭建。最后简单的优化服务器并测试其性能,分析测试结果。
本次设计主要包括虚拟机的安装及环境配置,Apache服务器的安装及调试,PHP、Tomcat、及MYSQL的安装和调试,以及服务器的压力测试。
2Web服务器的主体搭建
http的配置:在Apache安装完成后需要对其进行基础的配置,在主配置文件apache2.conf中修改一些重要的参数才能使服务器可以正常运行。建立主页:在/var/www目录下建立主页文件index.html。修改apache2.conf文件在尾部添加:#SeverName、SeverName127.0.0.1。重启apache服务。
域名的配置:为了使服务器更加完善需要对服务器设置域名,使服务器不仅可以通过IP地址访问,还可以通过域名被访问。首先需要打开\\etc目录下的hosts文件,在文件中添加域名信息,并保存退出,然后打开default文件,向Apache服务器添加域名信息最后在目录下新建配置文件并添加域名信息,最后重启Apache。
MYSQL有着体积小、速度快的特点,本身还是开源软件,所以大部分的中小型网站都采用MYSQL作为网站数据库[3]
(1)防火墙的配置。为了使局域网内的其他主机也可以访问服务器的主页,还需要对Linux系统的防火墙进行配置,打开其他人访问的权限。修改防火墙配置,添加配置项,最后再重启防火墙。
(2)CGI的测试。编写C++程序并编译为.cgi格式,将编译后的hello.cgi修改权限为755:#chmod755hello.cgi
在输入地址后浏览器主页成功的显示了CGI程序的内容证明Apache已经安装成功,并实现了基础的web功能。
(3)MYSQL的配置。在mysql使用之前还需要对刚装好的软件进行简单的配置,首先需要初始化MySQL配置
表:#bin/mysql_install_db——user=mysql该行指令可以执行mysql_install_db脚本,初始化data目录并创建一些表。
然后将mysql目录下的所有文件都设为root用户,使Mysql用户只有data目录的权限。复制配置文件:修改关键配置my.cnf,内容如下:再将mysqld服务加入开机自启动项:然后把mysql注册为开机启动的服务:为了让Mysql可以在全局中运行还需要建立软链接修改环境变量,为mysql建立软鏈接代码。
修改/etc/profile文件加入环境变量。
(4)Tomcat的配置。在软件安装完成后还需要对其配置文件进行简单修改,首先配置web管理账号,
修改配置文件tomcat-users.xml。
为了与Apache的地址区分,需要配置web的访问端口,修改Tomcat的配置文件
最后修改防火墙的配置。
(5)Tomcat的测试。在浏览器中登入tomcat主页面localhost:8080
(6)PHP环境的配置。将PHP模块加载到apache。
编译安装:#make#makeinstall复制配置文件。
修改配置文件,添加对php的支持。
(7)PHP与数据库的连接测试。创建测试文件#vimmysql_test.php
(8)Web服务器的整合与优化。Apache与MYSQL的连接,在Ubuntu系统中,通过安装模块来解决Apache服务器与MYSQL的连接问题,然后重启服务器。
(9)Apache对PHP的支持。在Ubuntu中也同样可以通过安装模块解决MYSQl与PHP的连接:#sudoapt-getinstallphp5-mysql重启服务器。
(10)apache2.conf的优化。为了提高服务器的性能让其更好的工作,需要对Apache默认的配置文件进行一些简单的优化来实现设计目标。关闭DNS查询打开配置文件apache2.conf,修改HostnameLookups项为off,关闭DNS的查询功能减轻服务器的负担。优化MaxClien和KeepAlive。Apache的KeepAlive表示在一定时间内,服务器与客户端维持连接状态。为了节省服务器资源,这里将KeepAliveTimeout选项设置为3。
(11)启用压缩优化。通过安装deflate模块来压缩网页内容节约带宽。
打开文件/etc/apache2/mods-enabled/deflate.conf,设置文件类型。
(12)使用缓存mod_cache。安装mod_mem_cache模块,对主要配置文件进行修改:启用缓存,使用基于内存的方式存储在内存中最多能存储缓存对象的个数,默认是1009,这里设置为20000单个缓存对象最大为1M,默认是10000bytes。在缓冲区最多能够放置多少的将要被缓存对象的尺寸,这里设置为65536,该值通常小于100000。单个缓存对象最小为10bytes,默认为1bytes。清除缓存所使用的算法,默认是GDSF。
(13)服务器的性能测试。ApacheBench是Apache自带的一个测试服务器性能的工具,它通过模拟访问与并发来测试当前服务器的性能,其核心功能是测试Apache在一秒钟内平均可以处理多少请求。[4]ab发出的指令会创建大量的并发访问线程,模拟大量的访问者同时对服务器进行访问测试结果及分析:接下来对优化过的服务器以同样的指标再次进行测试
#ab-n2000-c1000http://linuxidc.com/test.php
結果如图6-2所示:
核心指标1:
Requestspersecond:656.36[#/sec](mean)
核心指标2:
Timeperrequest:380.888[ms](mean)
(14)结果分析。指标1:Requestspersecond:650.78[#/sec](mean)
指标2:Timeperrequest:369.592[ms](mean)
经过计算后,优化后网站的性能相比优化之前的大约提升了百分之12左右,和预期目标中的百分之10基本相近,成功的完成预期目标。
3结语
本次设计主要实现了在虚拟机软件运行的linux系统中一个全能的web服务器的搭建。在linux上运行的web服务器已经成功的完成要求,可以在支持php和jsp的情况下提供稳定的web服务。
参考文献:
[1]陈刚等.2017.基于Linux名字空间的Web服务器动态防御方法[J].计算机应用,17(20):13-14.
[2]席静等.2012.一种提高Web服务器性能的方法[J].计算机研究与发展,38(5):44-46.
[3]唐汉明.2014.深入浅出MySQL[M].北京:人民邮电出版社,97-102.
[4]邵凌霜等.2009.一种WebService的服务质量预测方法[J].软件学报,16(6):19-20.
[5]Hidefumi.2013.AnalysisofChildren'sWebBrowsingProcess[J].ICTEducationinElementarySchoolsJapanJournalofEducationalTechnology,13(9):12-13.
[6]W.RichardStevens.2010.TCP/IPILLustratedVolume1:TheProtocols[M].北京:机械工业出版社,126-157.