linux cpu占用率如何看
748
2022-09-07
嵌入式Web开发——Boa服务器移植
百度百科上关于 Boa 的说明:
BOA 服务器是一个小巧高效的 web 服务器,是一个运行于 unix 或 linux 下的,支持 CGI 的、适合于嵌入式系统的单任务的 源代码开放、性能高。由于它是一个单任务的 Web 服务器,只能一次完成用户的请求,而不会 fork 出新的进程来处理并发的链接请求。但是 Boa 支持 Cgi,能够为 Cgi 程序 fork 出一个进程来执行相应的客户请求。
Boa 是一个单任务的 HTTP Web 服务器,支持认证、CGI 脚本等,功能比较全,性能比较高。它和传统 Web 服务器的主要区别是:它是单进程的,在接到新的 HTTP 请求时并不 fork 出一个新的进程来响应,不能同时处理多个到来的连接,而且不能将自己复制多个副本来处理多连接。它在内部处理所有正在进行的 HTTP 连接请求,只对单独的 CGI 程序、自动文件的产生、自动文件的解压等请求 fork 出新进程。它的优点是代码简单、速度快、适合于嵌入式应用。 值得一提的是,Boa 是一款完全开放源码的免费软件,用户可以随时从官方网站上获取 Boa 的最新版本并编译运行于不同的操作系统平台。
Boa 移植 (Boa 的版本为 0.94.13)
(1) 从 Boa 的官方网站(解压下载的源代码压缩包。
(3) 进入解压目录的 src/ 目录下,输入 ./configure 命令,生成 Makefile 文件。
(4) 修改 src/compat.h 文件,将
#define
修改为
#define
(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=gccCPP=gcc -E
改为实际使用的编译工具链,如
CC=arm-linux-gccCPP=$(CC) -E
(8) 运行 make clean,再运行 make 命令,即可生成运行于 ARM Linux 平台的 Boa 二进制文件。
Boa 配置 完成上面步骤后还无法启动 Boa 服务,因为还未对 Boa 进行配置,需要对 boa.conf 文件进行相应的配置才行。
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~