服务器服务器有什么用

服务器有什么用  时间:2021-01-25  阅读:()
第35卷第2期2019年6月金陵科技学院学报JOURNALOFJINLINGINSTITUTEOFTECHNOLOGYVol.
35,No.
2June,2019DOI:10.
16515/j.
cnki.
321722/n.
2019.
02.
009嵌入式系统犠犲犫服务器的移植与犆犌犐的应用田晨林1,陈正宇2(1.
南京邮电大学电子与光学工程学院,江苏南京210023;2.
金陵科技学院电子信息工程学院,江苏南京211169)摘要:嵌入式设备与现代通信网络的结合提高了其性能.
为实现远程监控管理嵌入式设备,分析对比了几种嵌入式Web服务器的特点,编译和移植了性能优异的Boa服务器,分析了通用网关接口CGI(CommonGatewayInterface)技术原理与应用方法.
以飞凌OK210开发板为硬件平台,移植了Linux操作系统,成功将CGI技术应用于Boa服务器.
实验结果表明,用户通过URL(UniformResourceLocator)地址访问Web浏览器,实现与Web服务器动态交互信息.
关键词:嵌入式Web服务器;Boa;移植;通用网关接口中图分类号:TP393文献标识码:A文章编号:1672755X(2019)02004004收稿日期:20190311基金项目:江苏省自然科学基金(BK20130096,BK20161516,BK20161104);金陵科技学院高层次人才科研启动基金(jitb201527)作者简介:田晨林(1995—),男,陕西西安人,硕士研究生,主要从事嵌入式系统应用研究.
通信作者:陈正宇(1978—),男,江苏淮安人,教授,博士,主要从事无线通信网络研究.
犜狉犪狀狊狆犾犪狀狋犻狀犵狅犳犈犿犫犲犱犱犲犱犛狔狊狋犲犿犠犲犫犛犲狉狏犲狉犪狀犱犃狆狆犾犻犮犪狋犻狅狀狅犳犆犌犐TIANChenlin1,CHENZhengyu2(1.
NanjingUniversityofPostsandTelecommunications,Nanjing210023,China;2.
JinlingInstituteofTechnology,Nanjing211169,China)犃犫狊狋狉犪犮狋:Thecombinationofembeddeddevicesandmoderncommunicationnetworksimprovestheperformanceofdevices.
Inordertoachieveremotemonitoringandmanagementofembeddeddevices,thispaperanalyzesthecharacteristicsofseveralembeddedWebservers,compilesandtransplantsBoaserverswithexcellentperformance,andanalyzestheprincipleandtheimplementationofCGI(CommonGatewayInterface).
ThepaperusesForlinxOK210boardasthehardwareplatformtotransplanttheLinuxoperatingsystemandsuccessfullyapplyCGItechnologythoughtheBoaserver.
ExperimentalresultsindicatethattheusercaninteractwiththeWebserverbyaccessingthewebbrowserthroughtheURL(UniformResourceLocator).
犓犲狔狑狅狉犱狊:embeddedWebserver;Boa;transplant;CommonGatewayInterface(CGI)随着计算机技术的不断发展与应用,嵌入式系统已经成为计算机领域的重要组成部分.
多数嵌入式系统提供了以太网接口,可以直接接入Internet,可以配置为一个小型Web服务器,提供HTTP服务.
使用这些功能,用户可以通过Web浏览器远程管理和监控嵌入式设备[1].
目前,两种比较流行的服务器体系结构是C/S(Client/Server)和B/S(Browser/Server)体系结构.
C/S结构一般建立在专用的网络上,通过专门服务器提供连接和数据交换服务,适用面较窄,程序安装较为复杂;B/S建立在广域网之上,可以实现多客户访问的目的,交互性比较强.
本项目使用B/S结构搭建第2期田晨林,等:嵌入式系统Web服务器的移植与CGI的应用嵌入式Web服务器,具有高效的设备管理与交互能力.
传统HTML网页是静态网页,无法实现一些复杂的功能,嵌入式Web服务器结合CGI技术可以刷新动态页面,从而实现对目录中的文件进行操作、通过CGI进行串口通信、实现数据库接口等复杂功能.
通过搭建动态交互平台,嵌入式Web服务器可以推广应用到许多领域,如自动化设备的在线远程监控、智能家庭医疗以及嵌入式网络监控系统等,为数据采集与监控提供新手段.
1嵌入式犠犲犫服务器的移植常见的嵌入式Web服务器有:thttpd、GoAhead、Boa[2].
thttpd是一种简易的开源Web服务器,有一个独立运行在后台的进程,它特别适合于处理大量的静态数据请求,如作为图像托管服务器.
GoAhead是比较专用的Web服务器,大部分功能都服务于本身提供的GoForms功能和ASP/JavaScript功能.
Boa是一个小巧的单任务型Web服务器,它在存储和运行时所占用的空间较少,约为60kb,非常适合应用于资源受限的嵌入式设备.
本项目使用的是Boa服务器,支持CGI技术,可以调用fork()函数,为CGI程序派生出一个处理子进程,从而响应用户的请求.
1.
1嵌入式犠犲犫服务器的工作原理嵌入式Web服务基于浏览器/服务器模式,由Web浏览器和Web服务器构成,也即流行的B/S结构[3].
由图1所示,浏览器首先与嵌入式Web服务器建立连接,打开一个套接字虚拟文件,此文件建立标志着套接字连接建立成功,通过套接字以GET或者POST参数传递方式向Web服务器提交请求,Web浏览器提交请求后,通过HTTP协议传送给Web服务器[4].
Web服务器接到请求后进行处理,返回HTML文件或通过CGI程序处理后返回结果.
图1嵌入式犠犲犫服务器系统架构1.
2犅狅犪服务器移植流程Boa是一个单任务Web服务器,主要特性是源代码开放、性能较高.
Boa服务器内部采用多路复用连接,而不会复制本身或者产生新进程处理并发连接请求.
但Boa支持CGI程序,能够调用fork()函数,为CGI程序派生出子进程来处理连接请求.
移植Boa服务器首先建立宿主机开发环境,在虚拟机中创建Ubuntu操作系统,并安装armlinuxgcc交叉编译工具链;然后在宿主机中配置Boa源码的Makefile文件,编译后将Boa映像文件下载到目标机中;最后,在目标机中运行Boa服务器(图2).
移植并配置Boa服务器的详细步骤如下.
图2移植犅狅犪服务器流程步骤1:在宿主机中安装交叉编译工具链,配置系统环境变量,在该环境下可以编译出嵌入式Linux系统所需要的应用程序映像文件.
步骤2:将Boa源码包boa0.
94.
13.
zip下载到宿主机,解压后进入源码目录,使用命令.
/configure生成Makefile文件并修改和配置,将CC=gcc改为CC=armlinuxgcc,再将CPP=gccE改为CPP=armlinuxgccE,保存后退出.
步骤3:在宿主机中使用命令make编译Boa源码,生成可执行文件.
步骤4:启动目标机,将可执行文件的映像文件复制到目标机文件系统/bin目录下.
步骤5:修改/etc/boa/boa.
conf配置文件,将用户和组分别修改为User0、Group0,将ScriptAlisa的值修改为/var/www/cgibin/,运14金陵科技学院学报第35卷行sudoboa命令启动Boa服务器.
通过以上的步骤,完成了嵌入式Boa服务器的移植和配置.
Boa是运行在系统后台的程序,等待来自Web浏览器的各种请求,当接受CGI程序的请求时调用函数进行处理,实现信息交互.
2犠犲犫服务器犆犌犐的应用目前,刷新动态页面主要使用CGI技术与服务器脚本如JSP、ASP等,但使用服务器脚本需要保证Web服务器提供脚本运行的支持,在嵌入式Web服务器的使用过程中资源一般受限,大多提供CGI支持,因此,应用CGI是浏览器与嵌入式Web服务器动态交互的一种重要途径.
2.
1犆犌犐工作原理CGI即通用网关接口,是服务器程序和Web服务器进行数据交互的一个标准接口.
CGI程序可以用大部分脚本语言和编译性语言实现,绝大多数的CGI程序被用来解释并处理来自表单的输入信息[5],并在服务器产生相应的处理结果,或将相应的数据反馈给浏览器.
CGI程序使网页浏览器具有交互功能,是运行在服务器上的一段程序,将接口提供给客户端能够理解的文档(通常是HTML网页),通过浏览器把用户请求发送到Web服务器,当Web服务器接收用户请求时CGI程序进行处理,把处理结果返给Web服务器,并通过其把结果响应回浏览器.
2.
2犆犌犐实现方法图3犆犌犐设计流程用户一般通过POST或者GET方法将请求提交给嵌入式Web服务器.
使用POST方法提交请求时,Web服务器把接收到的数据放入STDIN,将数据长度放入CONTENT_LENGTH环境变量中,CGI程序就会从CONTENT_LENGTH环境变量中读取数据长度,然后从STDIN中读入数据.
当使用GET方法时,Web服务器把接收的数据存放到缓存区QUERY_STRING,CGI程序从QUERY_STRING中读取数据.
此时CGI程序派生一个子进程处理相应的函数,经过一系列处理后将结果放到STDOUT,从而返回给Web浏览器显示.
CGI设计流程如图3所示,用户通过Web浏览器访问URL地址,形成的HTTP请求发送到Web浏览器,Web服务器守护进程接受该请求后创建一个CGI子程序,该程序从STDIN读取输入请求的信息,CGI处理程序执行后使用STDOUT输出为HTTP响应,通过浏览器呈现结果.
3系统测试与应用本项目搭建的嵌入式Web服务器运行在飞凌OK210开发板,使用SAMSUNGS5PV210主处理器,主频最高可达1GHz,32/32kb的数据/指令一级缓存,512kb的二级缓存,可以实现2000DMIPS的高性能运算能力.
另外,开发板运行Linux2.
6操作系统,使用了较新的进程调度算法,运行在高负载的情况下也能表现出稳定且出色的性能.
首先,将修改好的配置文件boa.
conf下载到/etc/boa,在/var/www目录下编写目录索引文件index.
html,并将CGI测试程序test.
cgi放入/var/www/cgibin目录下.
连接宿主机与目标机,当Web浏览器发出请求时(在火狐浏览器中输入http://192.
168.
1.
105/),Boa服务器调取索引文件,如图4所示,点击"TryCGI",程序输出结果返回到Web浏览器,实现动态交互.
上述实验完成了嵌入式Web服务器的搭建与CGI应用的测试.
该系统可以应用在众多场景下,如在智能家庭医疗系统中,由智能终端采集并保存用户的信息,如体温、血压等,远程监护人员通过浏览器访问智能终端,调用CGI程序按照预定的方法进行处理,查看用户当前信息或浏览历史信息曲线.
24第2期田晨林,等:嵌入式系统Web服务器的移植与CGI的应用图4测试界面进一步地,嵌入式Web服务器与CGI可以应用于智能化家居监控系统中,以嵌入式Web服务器为核心,结合CGI驱动远程硬件资源,采集家居环境的数据以及控制电器设备的开关,连接USB摄像头实时采集家居环境图像,用户通过浏览器与嵌入式Web服务器动态地交互数据.
4结语本项目搭建了基于嵌入式开发板与Linux2.
6的开源平台,主要分析了嵌入式Web服务器技术,实现了Boa在嵌入式系统下的编译和移植,结合CGI程序完成了宿主机与目标机的动态交互.
所搭建的开源平台,具有操作简单、使用方便、成本低廉等优点,对构建远程监控管理系统、智能家庭医疗系统有一定的借鉴作用.
参考文献:[1]LiLH,XuXF,TangSC,etal.
TheapplicationandresearchofembeddedwebservertechnologyinsmartgridDTU[C].
NewYork:IEEEInternationalConferenceonSignalProcessing,2015[2]陈娟,李元,李万国.
基于B/S模式的嵌入式系统测试方法与实现[J].
电子技术应用,2016,42(2):5052[3]余文焕,贾华宇,马臖.
基于ARM11的嵌入式Web远程实时温度监测系统[J].
仪表技术与传感器,2017(12):7680[4]汪纯云,张国平,陈志文,等.
基于CortexA8的嵌入式室外环境监测系统设计[J].
电子测量技术,2018(2):139143[5]赵建华,师振伟.
嵌入式Web服务器在智能家居控制系统的实现[J].
计算机技术与发展,2013(3):164167(责任编辑:湛江)34

hypervmart:英国/荷兰vps,2核/3GB内存/25GB NVMe空间/不限流量/1Gbps端口/Hyper-V,$10.97/季

hypervmart怎么样?hypervmart是一家国外主机商,成立于2011年,提供虚拟主机、VPS等,vps基于Hyper-V 2012 R2,宣称不超售,支持linux和windows,有荷兰和英国2个数据中心,特色是1Gbps带宽、不限流量。现在配置提高,价格不变,性价比提高了很多。(数据中心不太清楚,按以前的记录,应该是欧洲),支持Paypal付款。点击进入:hypervmart官方网...

IMIDC彩虹数据:日本站群多ip服务器促销;30Mbps带宽直连不限流量,$88/月

imidc怎么样?imidc彩虹数据或彩虹网络现在促销旗下日本多IP站群独立服务器,原价159美元的机器现在只需要88美元,而且给13个独立IPv4,30Mbps直连带宽,不限制月流量!IMIDC又名为彩虹数据,rainbow cloud,香港本土运营商,全线产品都是商家自营的,自有IP网络资源等,提供的产品包括VPS主机、独立服务器、站群独立服务器等,数据中心区域包括香港、日本、台湾、美国和南非...

个人网站备案流程及注意事项(内容方向和适用主机商)

如今我们还有在做个人网站吗?随着自媒体和短视频的发展和兴起,包括我们很多WEB2.0产品的延续,当然也包括个人建站市场的低迷和用户关注的不同,有些个人已经不在做网站。但是,由于我们有些朋友出于网站的爱好或者说是有些项目还是基于PC端网站的,还是有网友抱有信心的,比如我们看到有一些老牌个人网站依旧在运行,且还有新网站的出现。今天在这篇文章中谈谈有网友问关于个人网站备案的问题。这个也是前几天有他在选择...

服务器有什么用为你推荐
燃气热水器和电热水器哪个好燃气热水器和电热水器哪个划算迈腾和帕萨特哪个好迈腾和帕萨特哪个好网页传奇哪个好玩哪个传奇类网页游戏即好玩又不花钱??手机管家哪个好手机管家哪个软件好qq空间登录qq空间如何登陆牡丹江教育云空间登录云空间的账号密忘了可是那个上面有不有不让重新申请一个怎么办电信dns服务器地址电信光纤的dns地址怎么设置诛仙青云志360云盘资源诛仙青云志百全集百度云资源360云盘关闭360云盘,关闭了吗?360云盘共享群360网盘怎样进共享群?
tk域名注册 ftp空间 a2hosting 美元争夺战 godaddy 好看的桌面背景图 mysql主机 java空间 ftp教程 徐正曦 域名评估 江苏双线服务器 smtp虚拟服务器 海外空间 www789 丽萨 沈阳主机托管 监控服务器 lamp怎么读 测速电信 更多