服务器服务器有什么用

服务器有什么用  时间: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

轻云互联22元/月,美国硅谷、圣何塞CN2GIA云服务器,香港沙田cn2建站vps仅25元/月

轻云互联怎么样?轻云互联,广州轻云网络科技有限公司旗下品牌,2018年5月成立以来,轻云互联以性价比的价格一直为提供个人,中大小型企业/团队云上解决方案。本次轻云互联送上的是美国圣何塞cn2 vps(免费50G集群防御)及香港沙田cn2 vps(免费10G集群防御)促销活动,促销产品均为cn2直连中国大陆线路、采用kvm虚拟技术架构及静态内存。目前,轻云互联推出美国硅谷、圣何塞CN2GIA云服务器...

ZoeCloud:香港BGP云服务器,1GB内存/20GB SSD空间/2TB流量/500Mbps/KVM,32元/月

zoecloud怎么样?zoecloud是一家国人商家,5月成立,暂时主要提供香港BGP KVM VPS,线路为AS41378,并有首发永久8折优惠:HKBGP20OFF。目前,解锁香港区 Netflix、Youtube Premium ,但不保证一直解锁,谢绝以不是原生 IP 理由退款。不保证中国大陆连接速度,建议移动中转使用,配合广州移动食用效果更佳。点击进入:zoecloud官方网站地址zo...

Dynadot COM特价新注册48元

想必我们有一些朋友应该陆续收到国内和国外的域名注册商关于域名即将涨价的信息。大概的意思是说从9月1日开始,.COM域名会涨价一点点,大约需要单个9.99美元左右一个。其实对于大部分用户来说也没多大的影响,毕竟如今什么都涨价,域名涨一点点也不要紧。如果是域名较多的话,确实增加续费成本和注册成本。今天整理看到Dynadot有发布新的八月份域名优惠活动,.COM首年注册依然是仅需48元,本次优惠活动截止...

服务器有什么用为你推荐
美团月付怎么关闭美团外卖如何关闭快捷支付方式录屏软件哪个好现在什么录屏软件好,不卡的,推荐一个,谢谢。小说软件哪个好用免费现在看小说用什么软件好?压缩软件哪个好电脑常用压缩软件哪个好浏览器哪个好用浏览器哪个好核芯显卡与独立显卡哪个好核芯显卡和独立显卡哪个好?请直接点谢谢啦!电陶炉和电磁炉哪个好电磁炉跟电陶炉哪个好qq空间登录不上qq空间登不上去qq空间登录不上为什么我的qq空间登不上去YunOSyunos是什么手机
cc域名 查询ip地址 拜登买域名批特朗普 香港ufo site5 免费主机 国外服务器网站 抢票工具 tk域名 ev证书 创梦 卡巴斯基破解版 视频服务器是什么 后门 存储服务器 汤博乐 shuangcheng 美国asp空间 winserver2008r2 建站行业 更多