cgi配合boa使用web服务器

Common Gateway Interface,简称CGI。在物理上是一段程序,运行在服务器上,提供同客户端HTML页面的接口。这样说大概还不好理解。那么我们看一个实际例子:现在的个人主页上大部分都有一个留言本。留言本的工作是这样的:先由用户在客户端输入一些信息,如名字之类的东西。接着用户按一下“留言”(到目前为止工作都在客户端),浏览器把这些信息传送到服务器的CGI目录下特定的cgi程序中,于是cgi程序在服务器上按照预定的方法进行处理。在本例中就是把用户提交的信息存入指定的文件中。然后cgi程序客户端发送一个信息,表示请求的任务已经结束。此时用户在浏览器里将看到“留言结束”的字样。整个过程结束。
一、下载Bcgi源码
    下载地址: http://labs.nevion.com/open-source/ 目前最新发行版本:205(06年更新版本)
  下载cgi205.tar.gz
  解压:tar xzf cgi205.tar.gz
二、编译cgi
  修改交叉编译器:
  #vim Makefile修改为
CFLAGS=-g -Wall -static
CC=$(CROSS_COMPILE)gcc
AR=$(CROSS_COMPILE)ar
RANLIB=$(CROSS_COMPILE)ranlib
LIBS=-L./ -lcgic

all: libcgic.a cgictest.cgi capture

install: libcgic.a
    cp libcgic.a /usr/local/lib
    cp cgic.h /usr/local/include
    @echo libcgic.a is in /usr/local/lib. cgic.h is in /usr/local/include.

libcgic.a: cgic.o cgic.h
    rm -f libcgic.a
    $(AR) rc libcgic.a cgic.o
    $(RANLIB) libcgic.a

#mingw32 and cygwin users: replace .cgi with .exe

cgictest.cgi: cgictest.o libcgic.a
    $(CC) $(CFLAGS) cgictest.o -o cgictest.cgi ${LIBS}

capture: capture.o libcgic.a
    $(CC) $(CFLAGS) capture.o -o capture ${LIBS}

clean:
    rm -f *.o *.a cgictest.cgi capture
   #make CROSS_COMPILE=arm-linux-(在ARM平台上)
  #make (在PC平台上)
  之后生成了capture 和cgictest.cgi两个执行文件
三、目录的创建
  上一章节我们已经创建了/cgi-bin目录将capture和cgictest.cgi拷贝到此目录下。
四、测试。
  输入地址http://192.168.1.101/cgi-bin/cgictest.cgi










。。。。。。


posted on 2013-02-25 13:22  jobschu  阅读(1893)  评论(1编辑  收藏  举报

导航