首页 > 软件开发 > 嵌入式Web开发Boa服务器怎么移植?

快速发布【软件开发】相关需求,专业顾问为您服务 快速发布

用此手机号发布,您还可以点击 更换

发布需求
请输入正确的手机号
请输入正确的验证码

您是不是要找:

  • 专家问诊,提供专业建议
  • 急速响应,体验省心
  • 根据需求灵活定制解决方案

嵌入式Web开发Boa服务器怎么移植?

标签:嵌入式web开发 boa 2017-8-08 作者:open_tq54_niwe

  百度百科上关于 Boa 的说明:


  BOA 服务器是一个小巧高效的 web 服务器,是一个运行于 unix 或 Linux 下的,支持 CGI 的、适合于嵌入式系统的单任务的http服务器。


  源代码开放、性能高。由于它是一个单任务的 Web 服务器,只能一次完成用户的请求,而不会 fork 出新的进程来处理并发的链接请求。但是 Boa 支持 Cgi,能够为 Cgi 程序 fork 出一个进程来执行相应的客户请求。


  Boa 是一个单任务的 HTTP Web 服务器,支持认证、CGI 脚本等,功能比较全,性能比较高。它和传统 Web 服务器的主要区别是:它是单进程的,在接到新的 HTTP 请求时并不 fork 出一个新的进程来响应,不能同时处理多个到来的连接,而且不能将自己复制多个副本来处理多连接。它在内部处理所有正在进行的 HTTP 连接请求,只对单独的 CGI 程序、自动文件的产生、自动文件的解压等请求 fork 出新进程。它的优点是代码简单、速度快、适合于嵌入式应用。


  值得一提的是,Boa 是一款完全开放源码的免费软件,用户可以随时从官方网站上获取 Boa 的最新版本并编译运行于不同的操作系统平台。


  Boa 移植


  (Boa 的版本为 0.94.13,下载地址://download.csdn.net/detail/luckydarcy/9621635)


  (1) 从 Boa 的官方网站(//www.boa.org)上获取最新版的软件源代码。


  (2) 解压下载的源代码压缩包。


  (3) 进入解压目录的 src/ 目录下,输入 ./configure 命令,生成 Makefile 文件。


  (4) 修改 src/compat.h 文件,将


  #define TIMEZONE_OFFSET(foo) foo##->tm_gmtoff


  修改为


  #define TIMEZONE_OFFSET(foo) (foo)->tm_gmtoff


  (5) 运行 make 命令,即可生成运行于 x86 linux 平台的 Boa 二进制文件。


  (6) 修改 boa.c 文件,注释掉


  if (passwdbuf == NULL) {


  DIE(”getpwuid”);


  }


  if (initgroups(passwdbuf->pw_name, passwdbuf->pw_gid) == -1) {


  DIE(”initgroups”);


  }


  和


  if (setuid(0) != -1) {


  DIE(”icky Linux kernel bug!”);


  }


  (7) 修改 Makefile 文件,将


  CC=gcc


  CPP=gcc -E


  改为实际使用的编译工具链,如


  CC=arm-linux-gcc


  CPP=$(CC) -E


  (8) 运行 make clean,再运行 make 命令,即可生成运行于 ARM Linux 平台的 Boa 二进制文件。


  Boa 配置


  完成上面步骤后还无法启动 Boa 服务,因为还未对 Boa 进行配置,需要对 boa.conf 文件进行相应的配置才行。


  上面就是小编为大家整理的关于嵌入式web开发 boa的文章,希望对大家有帮助。在实际的操作过程中大家可以根据实际情况进行灵活的调整。了解更多咨询请关注猪八戒网。


最新文章推荐

软件开发暂无最新文章查看全部推荐文章>

推荐人才