嵌入式Linux环境下Web页面技术实现.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
嵌入式Linux环境下Web页面技术实现

嵌入式Linux环境下Web页面技术实现摘 要:介绍了通用网关接口(CGI)技术的工作原理,并选用Boa Server作为Web服务器,给出嵌入式Linux环境下的Web服务器参数配置方法,并利用该方法在S3C2410硬件开发板中实现了具体的Boa服务器环境,给出了一个具体的CGI应用实例。? 关键词:嵌入式WEB;通用网关接口 ;Boa ;Web服务器? 中图分类号:TP文献标识码:A文章编号:1672-3198(2009)01-0356-01?? 1 通用网关接口技术? CGI(Common Gateway Interface)是实现Web页面技术的关键所在,其定义是Web服务器与外部应用程序之间通信的标准接口。与专用编程接口相比具有以下优点:? ①独立于服务器体系结构和编程语言。编程者可以自由选择适合于特定编程任务的语言。? ②提供完整的进程隔离机制。CGI程序独立于Web服务器,运行在自己的进程地址空间,只与服务器交换接口信息,从而保证了服务器免受出错CGI进程的影响和用户的有意试探,提高了安全性和稳定性。? CGI主要功能是在Web环境下,将WWW与Web数据库集成在一起,顺利地实现了动态Web页面查询。从用户端浏览器传递一些指令或参数给Web服务器,CGI 脚本通过标准输入STDIN获得输入信息,最后使用STDOUT输出HTML形式的结果文件,经Web服务器送回浏览器显示给用户。由于用户能传递不同的参数给CGI 脚本,所以CGI技术使得浏览器和服务器之间具有很强交互性。? 其具体工作过程如图1所示。? 其中,CGI与表单之间的信息交互方法有两种模式:“GET”和“POST” 。选择哪一种模式取决于表单(FORM)的“METHOD”字段的设置,如果METHOD 设定为POST,数据会以STDIN 方式送入CGI接口;如果METHOD 设定为GET,数据会保存在QUERY_STRING的环境参数中,以供接口读取。 使用GET方式编写CGI 程序会更加简单,但是POST 方式则更先进。? 2 运行环境? 根据CGI 的工作机理,在嵌入式系统中构建CGI运行环境需要解决下面几个主要工作:? (1) 软硬件平台: ARM处理器,以高性能、低功耗、低成本等优点获得大量。操作系统方面,Linux因其开源性、可裁剪,广泛支持ARM体系结构,备受亲睐。无疑本文采用ARM-Linux作为CGI的系统平台是很好的选择。? (2) 合适的Web服务器:目前的主流Web服务器,包括Apache ,httpd ,thttpd 和Boa等几种。其中Boa开放源代码,性能高,运行所需空间仅为140KB左右,对CGI的支持效果最佳。因此,本文选择Boa作为ARM-Linux系统的Web服务器。? (3) 运行环境配置:不同的Web服务器的配置方法大同小异,具体过程中需要考虑的因素有:CGI的默认启动路径配置,CGI服务器根路径(SERVER-ROOT) 配置,CGI 脚本路径动态参数配置,CGI 源码路径配置。? (4) 交叉编译生成目标机模块:在宿主机中完成了全部的配置工作后,需要利用特定平台的交叉编译工具来生成特定平台的交叉编译模块,然后再下载到目标机。? 3 Web服务器Boa在ARM-Linux平台上的构建? 选用ARM-Linux平台作为嵌入式系统CGI,在S3C2410开发板上构建Boa服务器的具体过程为:? 3.1 对Boa源码进行交叉编译? 此过程中需要在/boa/src/configure文件中添加CC与CPP交叉编译选项,同时还要对Makefile文件中CC与CPP选项做同样的改动。在Redhat虚拟操作系统下:CC=/opt/host/ armv4l/bin/armv4l-unknown-linux-gcc;CPP =/opt/host/armv4l/bin/armv4l-unknown-linux.cpp,然后make即可生成所需平台的Boa可执行文件。? 3.2 Boa的配置? Boa的配置是在boa.conf文件里进行设定,该文件是一个文本文件,由一些规则组成,用于配置Boa 服务器时指定相应接口、服务器名称、一些相关文件路径等。对其具体修改如下:? ①将User nobody改为User 0? ②将Group nogroup 改为Group 0 ? ③将DocumentRoot/var/www改为DocumentRoot/home/httpd/html? ④定义CGI 程序所在的目录:ScriptAlias/cgi2bin/home/httpd/cgi2bin/ ⑤定义默

文档评论(0)

linsspace + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档