Chinaunix首页 | 论坛 | 博客
  • 博客访问: 546406
  • 博文数量: 29
  • 博客积分: 1785
  • 博客等级: 上尉
  • 技术积分: 821
  • 用 户 组: 普通用户
  • 注册时间: 2009-10-29 17:28
个人简介

我,计算机应用技术嵌入式方向出身,从事软件工程师工作,主要负责linux服务器维护,asterisk呼叫中心服务器维护,ERP和CRM系统开发,pbx系统开发,以及网站建设。 希望能交更多的朋友。

文章分类
文章存档

2015年(1)

2014年(2)

2013年(9)

2012年(10)

2011年(1)

2010年(3)

2009年(3)

分类: LINUX

2009-12-05 21:30:40

由于嵌入式设备资源有限,且嵌入式web服务器通常只需一些简单的功能,因而有必要对web服务器的功能进行裁剪,使其占有较少的储存空间和内存空间、消耗较少的处理器资源。Boa就是这样的一个开放源码web服务器,它是一个支持单一任务的嵌入式web服务器,本身所占的空间很小,具有较高的性能,适用于嵌入式系统。同时,它支持CGI技术,用于实现动态web内容。
boa-0.94.13的移植和使用
首先从上下载boa
#wget
# tar -zxf boa-0.94.13.tar.gz
# cd boa-0.94.13/src
#./configure  运行configure生成Makefile
#make  
编译会出现错误
util.c:99:1:pasting”t“and"->"does not give a valid preprocessing token
make:* * *[util.o]错误1
这是compat.h中的一个宏定义隐去的
#sed -i 's|#define TIMEZONE_OFFSET(foo)##->tm_gmtoff|#define TIMEZONE_OFFSET(foo)->tm_gmtoff|g' compat.h
除了这里还有一处在boa.c
sed -i 's|drop_privs();|//drop_privs();|g' boa.c
在make一下没报错就行了。
编译完后可以看到,在源代码目录下生成了一个名为boa的可执行文件。将其放入构建好的根文件系统中,并在etc/下面见一个boa目录,存放boa的配置文件boa.conf。
#cp boa /usr/sbin/
#mkdir -p /etc/boa
#vim /etc/boa/boa.conf
Port 80
DocumentRoot /var/www
MimeTypes /etc/mime.types
DefaultType text/plain
Errorlog /var/log/boa/error_log
CGIPath /bin:usr/bin:/usr/local/bin
ScriptAlias /cgi-bin/ /var/www/cgi-bin/
#mkdir -p /var/www/var/log/boa /var/www/cgi-bin
自己写一个程序如我编写的九九乘法表jiujiu.c:
#include "stdio.h"
void main()
{
 int i,j;
  printf("Content-type: text/html; charset=utf-8\n\n");
    printf("Linux小组\n");
 for(i=1;i<=9;i++) printf("%4d",i);
 printf("
\n");
 for(i=1;i<=9;i++)
 {
  for(j=1;j<=i;j++) printf("%4d",i*j);
  printf("
\n");
 }
    printf("\n ");
}
#gcc jiujiu.c -o jiujiu
#cp jiujiu /var/www/cgi-bin
#boa
然后在浏览器中输入域名就可以了。
http://localhost/cgi-bin/jiujiu
就可以看见网页中输出了一个九九乘法表。
 
阅读(1739) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~