嵌入式linux部署boa服务器

在web服务器中,较为常用的是tomcat,nigix。但是这种服务器比较大,占用资源比较多,并不适合于嵌入式设备中。而boa是一个很轻便的web服务器,部署简单,占用资源少,支持多种语言。

1.下载boa源码到官方网站www.boa.org下载,或者自行在网上找资源。我使用的是boa-0.94.13.tar.gz版本。

2.配置boa的编译环境

   安装bison: 

sudo apt-get install bison

   安装flex:

sudo apt-get install flex

    解压压缩包:

tar -xvf boa-0.94.13.tar.gz

3.编译配置

进入目录 boa-0.94.13/src

配置:

./configure

4.编译

make

5.修改配置文件boa-0.94.13/boa.conf

    A.将Group nobody 改为Group 0

    这里Group 0用户即为root用户,修改之后boa服务器拥有更高的权限。这里可根据需要进行修改

    B.最后一行改为ScriptAlias /cgi-bin/  /var/www/cgi-bin/

    C.修改compat.h第120行  #define TIMEZONE_OFFSET(foo) foo##->tm_gmtoff

                                   改为  #define TIMEZONE_OFFSET(foo) foo->tm_gmtoff

6.部署到linux中

    A.将boa-0.94.13/src中的boa boa_indxer拷贝到linux的/bin目录,并添加777q权限

    B.在/etc新建目录,mkdir boa,将 boa-0.94.13/boa.conf拷贝到/etc/boa

    C.在/var目录下新建www目录,并在/var/www/ 下新建cgi-bin目录

    D.在/var/log 新建 boa目录,用于存放生成的log文件

7.将index.html放到/var/www目录下

8.将c语言编译生成的.cgi文件放到/var/www/cgi-bin目录下

7.启动boa

boa

8.在浏览器下输入linux的ip地址即可访问到web。

 

 

在运行boa中出现的一下问题及解决方法:

1.如果需要访问系统变量,需要修改运行用户为root,将boa.conf的Group nobody修改为

Group root,同时需要修改boa-0.94.13/src/boa.c,将下面的程序注释226行,否则无法以root运行

if (setuid(0) != -1) {
     DIE("icky Linux kernel bug!");
     }

 修改之后重新编译,把新生成的boa_indxer拷贝到linux的/bin目录

2.使用shell 作为cgi程序格式为:

#!/bin/bash

PATH=/bin:/sbin:/usr/bin:/usr/sbin

echo -e “Content-type:text/html\n\n”

echo “hello boa shell cgi”

文件保存为.cgi后缀

3.使用sqlite3作为数据库时,需要将数据文件所在的文件夹添加可执行权限,如user.db存放在sqlite3文件夹下,需要同时给文件夹和数据库添加权限,执行以下命令

chmod 777 sqlite3/

chmod 777 user.db

4.移植到linux时,提示:gethostName:: Success

解决:修改boa.conf

将 #ServerName  www.your.org.here

改为:ServerName  www.your.org.here

5.当cgi服务程序调用linux的系统命令是,要使用命令时,需要执行命令的路径而不能直接使用该命令。例如掉用ls时不能直接使用ls,而需要执行ls的路径  /bin/ls

6.如果要使用c语言的框架,可以使用cgic。不使用也可以参考里面的一些写法。

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值