《嵌入式系统的WEB开发》

硬件平台:RK1109/T31/RK3308

软件系统:Linux,Lighttpd/ Nginx, FCGI, HTML/JS

选择使用FCGI,除了使用C 开发调用系统资源方便外. FCGI 可以解决CGI 多入口的问题,统一的入口,对数据同步,都是比较方便。实现简单的WEB 后台总共需要3步:

一、配置Lighttpd.conf 和fastcgi.conf

server.modules += ( "mod_fastcgi" )
fastcgi.debug=2                                                            
fastcgi.server = (  
                  "/api/v1/gw/" =>(
                  "main" => ("host" => "127.0.0.1", "port" => 2048, "bin-path" =>                         "/var/www/fcgiMain",  
                  "check-local" => "disable",
                  "max-procs" => 1,   //多服务处理
                      )  
                )
)

二、fcgiMain 主程序处理入口,FCGI 入口,Lighttpd 将http请求

static void *doit(void *a)
{
    int rc, i, thread_id = (int)a;
    FCGX_InitRequest(&request, 0, 0);
    while(g_bRunning)
    {
        rc = FCGX_Accept_r(&request);
        if (rc < 0)
        {
            usleep(1000);
            continue;
        }
        method =  FCGX_GetParam("REQUEST_METHOD", request.envp);
        //TODO... 业务处理
        FCGX_Finish_r(&request);
    }
    return NULL;
}
 

三、前端实现和调用FCGI接口 HTML/JS

<body>
        <form method=GET action="fcgiMain">
            <div>
                <input type="submit" name="cmd" value="restore" >
            </div>
        </form >
 </body>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值