




已阅读5页,还剩17页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
基于linux下web服务器移植与实现 完圆圆 孙超 周媚 周谭盛子 钱福星2020 1 21 内容提纲 1 嵌入式web服务器概述2 Boa简介3 Bao的工作过程4 Boa移植5 CGI库的移植6 配置Web服务器以及实验结果 2 随着嵌入式技术的发展和高速宽带网络的普及 利用网络实现远程监控已为人们广泛接受 嵌入式网络监控技术正是在此条件下逐步发展成熟起来的 常见的嵌入式web服务器 boa httpd和thttpd Httpd是最简单的一种web服务器 功能也最弱 不支持认证和CGI thttpdweb服务器和boaweb服务器都支持认证和CGI等 功能都比较全 3 研究内容 Boa是一款单任务的HTTP服务器 1 当有连接请求到来时 它并不为每个连接单独创建进程 也不通过复制自身进程来处理多链接 而是通过建立HTTP请求列表来处理多路HTTP连接请求 2 同时它只为CGI程序创建新的进程 3 在最大程度上节省了系统资源 这点对嵌入式系统来讲是至关重要的 4 同时它还具有自动生成目录 自动解压文件等功能 因此 Boa具有很高的HTTP请求处理速度和效率 在嵌入式系统中具有很高的应用价值 5 能够完成接收客户端请求 分析请求 响应请求 向客户端返回请求结果等任务 4 Boa简介 5 Boa的工作过程 1 完成Web服务器的初始化工作 如创建环境变量 创建TCP套接字 绑定端口 开始侦听 进入循环结构 以及等待接收客户浏览器的连接请求 2 当有客户端连接请求时 Web服务器负责接收客户端请求 并保存相关请求信息 3 在接收到客户端的连接请求之后 分析客户端请求 解析出请求的方法 URL目标 可选的查询信息及表单信息 同时根据请求做出相应的处理 4 Web服务器完成相应处理后 向客户端浏览器发送响应信息 关闭与客户机的TCP连接 5 嵌入式Web服务器Boa根据请求方法的不同 做出不同的响应 6 boa移植1 设置编译环境下载boa的官方网站是 www boa org 下载完毕后 解压到 opt cvtech 目录下 会生成目录boa 0 94 13 tarxzvfboa 0 94 13 tar gz C opt cvtech 7 2 配置编译条件配置boa 进入src目录 编译源代码 解压后src目录下有Makefile in文件 但没有Makefile文件 为了编译源代码 需要先生成Makefile文件 在src目录下运行configure命令即可 cd opt my2410 boa 0 94 13 src chmod755configure configure生成的Makefile文件是针对X86平台的 为了生成能够在ARM上运行的boa 需要修改Makefile文件 8 将Makefile的31 32行内容 CC gcc和CPP gcc E 然后改成 CC arm linux gcc和CPP arm linux gcc E 然后输入make命令进行编译 在src目录下就会生成boa文件 修改boa c文件 在行225到行227间有如下内容 注释掉 避免出现 ickyLinuxkernelbug 的错误 225if setuid 0 1 226 DIE ickyLinuxkernelbug 227 保存退出 arm linux stripboa优化就是去除boa中的调试信息 经过此操作 boa会由232K变成62K左右 9 CGI库的移植 1 设置编译环境下载cgic库的具体下载站点是 10 2 配置编译条件进入cgic205目录 修改Makefile文件 cd opt EmbedSky cgic205 geditMakefile下面是修改后的文件内容 CFLAGS g WallCC arm linux gcc 原来是CC gccAR arm linux ar 原来是AR arRANLIB arm linux ranlib 原来是RANLIB ranlibLIBS L lcgic 11 all libcgic acgictest cgicaptureinstall libcgic acplibcgic a usr local libcpcgic h usr local include echolibcgic aisin usr local lib cgic hisin usr local include libcgic a cgic ocgic hrm flibcgic a AR rclibcgic acgic o RANLIB libcgic a mingw32andcygwinusers replace cgiwith exe 12 cgictest cgi cgictest olibcgic a CC CFLAGS cgictest o ocgictest cgi LIBS 由gcc改成了 CC CFLAGS capture capture olibcgic a CC CFLAGS capture o ocapture LIBS 由gcc改成了 CC CFLAGS clean rm f o acgictest cgicapture修改后保存退出 13 3 编译并优化编译 会在目录下生成capture的可执行文件和测试用的cgictest cgi文件 make优化 arm linux stripcapture上述命令会把capture由原来的100K左右变成现在的29K左右 14 配置Web服务器做完前面的移植工作后 需配置Web服务器 1 配置boa在文件系统里面新建一个名为web 的目录 在文件系统的etc 目录下面新建一个boa 目录 mkdirweb mkdiretc boa然后拷贝刚才移植的boa到文件系统的 sbin 目录下 cp opt boa 0 94 13 src boa opt sbin拷贝boa 0 94 13目录下面的boa的配置文件boa conf到文件系统的etc boa 目录下 cp opt boa 0 94 13 boa conf opt etc boa 15 修改boa conf文件 这里只给出修改的内容以及大概的行数 geditboa conf下面是修改内容 Port80 行25 监听的端口号 缺省都是80 一般无需修改 Listen192 168 1 6 行43 bind调用的IP地址 一般注释掉 表明绑定到INADDR ANY 通配于服务器的所有IP地址 Userroot 行48Grouproot 行49 作为哪个用户组运行 即它拥有该用户组的权限 一般都是root 需要在 etc group文件中有root组 ServerAdminroot localhost 行55 当服务器发生问题时发送报警的email地址 现在没有使用 ErrorLog dev console 行62 错误日志文件 如果没有以 xxx开始 则表示从服务器的根路径开始 如果不需要错误日志 则用 dev null 系统启动后看到的boa的打印信息就是由 dev console得到的 KeepAliveMax1000 行145 一个连接所允许的HTTP持续作用请求最大数目 注释或设为0都将关闭HTTP持续作用 KeepAliveTimeout10 行149 HTTP持续作用中服务器在两次请求之间等待的时间数 以秒为单位 超时将关闭连接 VirtualHost 行107 是否启动虚拟主机功能 即设备可以有多个网络接口 每个接口都可以拥有一个虚拟的Web服务器 一般注释掉 即不需要启动 DocumentRoot web Windows 行112 非常重要 这个就是存放HTML文档的主目录 如果没有以 xxx开始 则表示从服务器的根路径开始 UserDirpublic html 行117 如果收到一个用户请求的话 在用户主目录后再增加的目录名 DirectoryIndexmiaov calculator html 行124 HTML目录索引的文件名 也是没有用户只指明访问目录时返回的文件名 2 配置cgic库拷贝刚才移植的cgic库和cgic测试文件到文件系统的 web 目录下 cp cgictest cgi opt web Windows 3 测试当做完前面的操作后 就可以重启开发板 这里开发板的IP地址为192
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 设置网络安全管理制度
- 设计公司项目管理制度
- 证券事务专员管理制度
- 诊所感染预防管理制度
- 诊所药品录入管理制度
- 试验检测过程管理制度
- 财务结账相关管理制度
- 财政内部控制管理制度
- 货物仓储安全管理制度
- 货运火车进站管理制度
- 2025年电气工程基本知识考试试卷及答案
- 2025年河北省中考麒麟卷生物(一)
- 基层医院护理课件
- 劳动护理鞋子的课件
- 2025年新安全知识竞赛培训试题及答案
- 纪法知识测试题及答案
- 科技论文写作 第2版 课件 第1-5章 科技论文写作概述-英文科技论文的写作
- 军事研学训练营行业跨境出海项目商业计划书
- 法律职业伦理试题及答案
- 2025年苏教版数学小学四年级下册期末真题及答案(七)
- 2024珠海农商银行社会招聘笔试历年典型考题及考点剖析附带答案详解
评论
0/150
提交评论