基础电子中的基础电子中的Boa服务器移植服务器移植
作者:曹忠明,华清远见嵌入式学院讲师。 Boa是一种非常小巧的Web服务器,其可执行代码只有大约
60KB左右。作为一种单任务Web服务器,Boa只能依次完成用户的请求,而不会fork出新的进程来处理并发连
接请求。但Boa支持CGI,能够为CGI程序fork出一个进程来执行。Boa的设计目标是速度和安全。 下面给
大家介绍一下Boa服务器移植的具体操作步骤,希望能够有帮助。 环境 主机:ubuntu8.10 交叉工
具链:gcc-3.4.5-glibc-2.3.6 目标:s3c2410开发板 结合网上一些文档,整理了一个比较完整的文档。
1.下载
作者:作者:曹忠明,华清远见嵌入式学院讲师。
Boa是一种非常小巧的Web服务器,其可执行代码只有大约60KB左右。作为一种单任务Web服务器,Boa只能依次完成
用户的请求,而不会fork出新的进程来处理并发连接请求。但Boa支持CGI,能够为CGI程序fork出一个进程来执行。Boa的设
计目标是速度和安全。
下面给大家介绍一下Boa服务器移植的具体操作步骤,希望能够有帮助。
环境
主机:ubuntu8.10
交叉工具链:gcc-3.4.5-glibc-2.3.6
目标:s3c2410开发板
结合网上一些文档,整理了一个比较完整的文档。
1.下载Boa源码
下载地址: http://www.boa.org/
最新发行版本: 0.94.13
下载 boa-0.94.13.tar.gz
解压:# tar xzf boa-0.94.13.tar.gz
2.安装需要工具bison,flex
sudo apt-get install bison flex
否则会出现如下错误
make: yacc:命令未找到
make: *** [y.tab.c] 错误 127
make: lex:命令未找到
make: *** [lex.yy.c] 错误 127
3.修改文件
(1)修改 src/compat.h
找到
#define TIMEZONE_OFFSET(foo) foo##->tm_gmtoff
修改成
#define TIMEZONE_OFFSET(foo) (foo)->tm_gmtoff
否则会出现错误:
util.c:100:1: error: pasting "t" and "->" does not give a valid preprocessing token make: *** [util.o] 错误 1
(2)修改 src/log.c