lighttpd+cgi方式测试

安装lighttpd,php

sudo apt-get install lighttpd php5 php5-cgi

配置lighttpd

sudo vi /etc/lighttpd/lighttpd.conf

增加cgi模块

server.modules = (
        "mod_access",
        "mod_alias",
        "mod_compress",
        "mod_redirect",
#       "mod_rewrite",
        "mod_cgi"
)
 

设置cgi的解析

static-file.exclude-extensions = ( ".php", ".pl", ".fcgi", ".cgi" )

cgi.assign = ( ".cgi" => "" )

alias.url += ( "/cgi-bin" => server.document-root + "/cgi-bin" )
$HTTP["url"] =~ "^/cgi-bin" {
        cgi.assign = ( "" => "")
}

 

重启lighttpd

sudo service lighttpd restart

编写cgi程序

#include <stdio.h>
#include <stdlib.h>
int main(void)
{
        char *data;
        long m,n;
        //printf("%s%c%c ","Content-Type:text/html;charset=gb2312",13,10);
        printf( "Content-Type: text/plain\n\n" );
        printf("乘法结果 ");
        printf("乘法结果 ");
        data = getenv("QUERY_STRING");
        if(data == NULL)
                printf("错误!数据没有被输入或者数据传输有问题");
        else if(sscanf(data,"m=%ld&n=%ld",&m,&n)!=2)
                printf("错误!输入数据非法。表单中输入的必须是数字。");
        else
                printf("%ld和%ld的成绩是:%ld。",m,n,m*n);

        return 0;
}

gcc x.c -o x.cgi

将执行程序移到cgi-bin执行目录

sudo mv x.cgi /var/www/cgi-bin/

测试程序,打开浏览器在地址栏输入

http://127.0.0.1/cgi-bin/x.cgi?m=1&n=2

浏览器页面显示

乘法结果 乘法结果 1和2的成绩是:2。

大功告成。

 

有了这个第一步,后面就要把RPi相关的东东集成到这个cgi中了,Web调用,cgi转给RPCService执行,然后再返回给Web客户端。

 

 

添加新评论