Linux要作为web server服务器使用时,可以有很多中web server方式:httpd, thttpd, boa, apache等。
httpd:是最简单的web server方式,只支持静态web浏览。一般不太使用。除非在嵌入式下已经够服务。
thttpd:略
boa:是一款单任务的HTTP 服务器, 与其他传统的Web 服务器不同的是当有连接请求到来时, 它并不为每个连接单独创建进程, 也不通过复制自身进程来处理多链接, 而是通过建立HTTP 请求列表来处理多路HTTP 连接请求, 同时它只为CGI 程序创建新的进程, 这样就在最大程度上节省了系统资源, 这对嵌入式系统来说至关重要. 同时它还具有自动生成目录、自动解压文件等功能, 因此, Boa 具有很高的HTTP 请求处理速度和效率, 在嵌入式系统中具有很高的应用价值.
下面对boa移植讨论:
1、 源码下载:
2、编译:进入./boa/src目录
# cd ./boa/src
#./configure //将创建Makefile及配置文件,如果平台移植需要修改相应的编译选项
# make //将编译生成boa执行文件
3、修改移植其他目录:
在./src/define.h中有关boa参数的固定设置,通过这里来修改。
#define SERVER_ROOT "/home/chenchao/develop/webhome"
将boa.conf拷贝到上面目录下,程序启动将读取boa.conf文件配置。
在./boa/boa.conf是boa的配置文件,这里有关web server的web访问页等的具体设置。
4、测试:
a) 通过html测试,设置DocumentRoot 相应目录,将indel.html编写的文件拷贝到该目录下,在浏览器中 输 入:http://10.4.37.12,如果正常,将显示测试页面。
b) 在./boa/example/中有gci的测试文件,将这个文件直接拷贝到ScriptAlias 配置指定的目录下,启动 boa服务,在浏览器上输入:,如果成功,将显示测试页面。
c) 通过C语言编写测试:test.c
#include
void main(){
printf("Content-type: text/html\n\n");
printf("\n");
printf("CGI Output\n");
printf("\n");
printf("Hello, world.\n");
printf("\n");
printf("\n");
exit(0);
}
将test.c编译成可执行文件test,拷贝到ScriptAlias 配置指定的目录下,在浏览器上输入:http: //10.4.37.12/cgi-bin/test ,如果成功,将显示测试页面。
apache:主要是针对比较大型的网站来设计的,一般是服务器类型的服务而用,具体的可以见cvs中有讲解操作。
阅读(1726) | 评论(0) | 转发(0) |