服务器服务器有什么用
服务器有什么用 时间:2021-01-25 阅读:(
)
第35卷第2期2019年6月金陵科技学院学报JOURNALOFJINLINGINSTITUTEOFTECHNOLOGYVol.
35,No.
2June,2019DOI:10.
16515/j.
cnki.
321722/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);金陵科技学院高层次人才科研启动基金(jitb201527)作者简介:田晨林(1995—),男,陕西西安人,硕士研究生,主要从事嵌入式系统应用研究.
通信作者:陈正宇(1978—),男,江苏淮安人,教授,博士,主要从事无线通信网络研究.
犜狉犪狀狊狆犾犪狀狋犻狀犵狅犳犈犿犫犲犱犱犲犱犛狔狊狋犲犿犠犲犫犛犲狉狏犲狉犪狀犱犃狆狆犾犻犮犪狋犻狅狀狅犳犆犌犐TIANChenlin1,CHENZhengyu2(1.
NanjingUniversityofPostsandTelecommunications,Nanjing210023,China;2.
JinlingInstituteofTechnology,Nanjing211169,China)犃犫狊狋狉犪犮狋:Thecombinationofembeddeddevicesandmoderncommunicationnetworksimprovestheperformanceofdevices.
Inordertoachieveremotemonitoringandmanagementofembeddeddevices,thispaperanalyzesthecharacteristicsofseveralembeddedWebservers,compilesandtransplantsBoaserverswithexcellentperformance,andanalyzestheprincipleandtheimplementationofCGI(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操作系统,并安装armlinuxgcc交叉编译工具链;然后在宿主机中配置Boa源码的Makefile文件,编译后将Boa映像文件下载到目标机中;最后,在目标机中运行Boa服务器(图2).
移植并配置Boa服务器的详细步骤如下.
图2移植犅狅犪服务器流程步骤1:在宿主机中安装交叉编译工具链,配置系统环境变量,在该环境下可以编译出嵌入式Linux系统所需要的应用程序映像文件.
步骤2:将Boa源码包boa0.
94.
13.
zip下载到宿主机,解压后进入源码目录,使用命令.
/configure生成Makefile文件并修改和配置,将CC=gcc改为CC=armlinuxgcc,再将CPP=gccE改为CPP=armlinuxgccE,保存后退出.
步骤3:在宿主机中使用命令make编译Boa源码,生成可执行文件.
步骤4:启动目标机,将可执行文件的映像文件复制到目标机文件系统/bin目录下.
步骤5:修改/etc/boa/boa.
conf配置文件,将用户和组分别修改为User0、Group0,将ScriptAlisa的值修改为/var/www/cgibin/,运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的高性能运算能力.
另外,开发板运行Linux2.
6操作系统,使用了较新的进程调度算法,运行在高负载的情况下也能表现出稳定且出色的性能.
首先,将修改好的配置文件boa.
conf下载到/etc/boa,在/var/www目录下编写目录索引文件index.
html,并将CGI测试程序test.
cgi放入/var/www/cgibin目录下.
连接宿主机与目标机,当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结语本项目搭建了基于嵌入式开发板与Linux2.
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]汪纯云,张国平,陈志文,等.
基于CortexA8的嵌入式室外环境监测系统设计[J].
电子测量技术,2018(2):139143[5]赵建华,师振伟.
嵌入式Web服务器在智能家居控制系统的实现[J].
计算机技术与发展,2013(3):164167(责任编辑:湛江)34
95idc是一家香港公司,主要产品香港GIA线路沙田CN2线路独服,美国CERA高防服务器,日本CN2直连服务器,即日起,购买香港/日本云主机,在今年3月份,95IDC推出来一款香港物理机/香港多ip站群服务器,BGP+CN2线路终身7折,月付350元起。不过今天,推荐一个价格更美的香港物理机,5个ip,BGP+CN2线路,月付299元起,有需要的,可以关注一下。95idc优惠码:优惠码:596J...
ftlcloud怎么样?ftlcloud(超云)目前正在搞暑假促销,美国圣何塞数据中心的云服务器低至9元/月,系统盘与数据盘分离,支持Windows和Linux,免费防御CC攻击,自带10Gbps的DDoS防御。FTL-超云服务器的主要特色:稳定、安全、弹性、高性能的云端计算服务,快速部署,并且可根据业务需要扩展计算能力,按需付费,节约成本,提高资源的有效利用率。点击进入:ftlcloud官方网站...
pacificrack又追加了3款特价便宜vps搞促销,而且是直接7折优惠(一次性),低至年付7.2美元。这是本月第3波便宜vps了。熟悉pacificrack的知道机房是QN的洛杉矶,接入1Gbps带宽,KVM虚拟,纯SSD RAID10,自带一个IPv4。官方网站:https://pacificrack.com支持PayPal、支付宝等方式付款7折秒杀优惠码:R3UWUYF01T内存CPUSS...
服务器有什么用为你推荐
郑州软银科技有限公司河南比较出名的营销公司是哪家?我们下半年有新产品上市需要做一些推广麒麟820和980哪个好麒麟980和骁龙855那个好一点?电脑管家和360哪个好电脑管家和360卫士哪个好?江门旅游景点哪个好玩的地方江门有哪些地方好玩。?宝来和朗逸哪个好新宝来和新朗逸选哪个?好纠结!!车险哪个好私家车买什么保险好oppo和vivo哪个好Vivo和OPPO哪个好点啊?扣扣空间登录如何设置QQ空间快速登陆群空间登录手机能否登录群空间,如何登录qq空间登录不上qq空间登不上去
域名注册信息查询 网通服务器租用 ipage a2hosting mediafire下载 iis安装教程 seovip info域名 12306抢票助手 骨干网络 dux hkt 万网主机管理 全能空间 万网注册 攻击服务器 ddos防火墙 戴尔主机 紫田网络 企业私有云存储 更多