本帖最后由 风精灵 于 2024-2-2 09:44 编辑

boa是一个非常轻量级的web服务器,专门设计用于嵌入式系统或低端设备上,因此可以在资源受限的环境下运行。如果你需要在嵌入式设备或其他资源受限的环境中提供web服务,那么使用boa可能是一个不错的选择。此外,boa还具有容易定制和扩展的特点,使得它可以被用于各种不同的应用场景。
下面来介绍基于ELF 1开发板移植boa的方法。

1boa官网下载源码

下载好的boa源码为:boa-0.94.13.tar.gz

2、将源码拷贝到虚拟机并解压
elf@ubuntu:~/work/a/boa$ tar xvf boa-0.94.13.tar.gz

3、进行交叉编译
elf@ubuntu:~/work/a/boa$ cd boa-0.94.13/src/
elf@ubuntu:~/work/a/boa/boa-0.94.13/src$ . /opt/fsl-imx-x11/4.1.15-2.0.0/environment-setup-cortexa7hf-neon-poky-linux-gnueabi
elf@ubuntu:~/work/a/boa/boa-0.94.13/src$ ./configure --host=arm
elf@ubuntu:~/work/a/boa/boa-0.94.13/src$ make

报错
640.png
修改src/compat.h文件中的如下位置:
elf@ubuntu:~/work/a/boa/boa-0.94.13/src$ vi compat.h

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

修改完成,保存退出,继续make,之后就不会报错了。
至此交叉编译boa已经完成,接下来在开发板上进行测试。

1开发板中建立boacgi-bin录,
root@ELF1:~# cd /etc/
root@ELF1:/etc# mkdir boa
root@ELF1:/etc# mkdir -p /www/cgi-bin/
root@ELF1:/etc# mkdir group

2可执行应用和一些配置文件通过scp命令拷贝到开发板中。
elf@ubuntu:~/work/a/boa/boa-0.94.13/src$ scp boa root@192.168.2.98:/etc/boa/
elf@ubuntu:~/work/a/boa/boa-0.94.13/src$ scp ../boa.conf root@192.168.2.98:/etc/boa/
elf@ubuntu:~/work/a/boa/boa-0.94.13/src$ scp /etc/mime.types root@192.168.2.98:/etc/

3修改boa.conf文件
root@ELF1:~# vi /etc/boa/boa.conf
需要做如下修改:
Group nogroup改为Group 0
指定 log 文件的路径,把log保存到/etc/boa目录下
ErrorLog /var/log/boa/error_log 改为ErrorLog /etc/boa/error_log
AccessLog /var/log/boa/access_log 改为AccessLog /etc/boa/access_log
#ServerName www.your.org.here改为ServerName www.your.org.here
DocumentRoot /var/www修改为DocumentRoot /www
⑤ 将ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/改为ScriptAlias /cgi-bin/ /www/cgi-bin/

4、/www/下创建index.html
root@ELF1:/etc# vi /www/index.html

并编写加入以下内容:
<!DOCTYPE html>
<html xmlns="http://www/w3.org/1999/xhtml">
                <head>
                        <meta http-equiv="Content-type" content="text/html;charset-gb2312">
                        <title>Isaigu_gateway</title>
<style type="text/css">
<!--
        .STYLE1{font-size:45px}
        body{
                background-color: #ADD8E6;
        }
        -->
</style>
        </head>
        <body>
                <table width="613" height="424" border="0" align="center">
                        <tr>
                                        <td colspan="2" align="center" valign="middle"><h2
                                                class="STYLE1">Hello ElfBoard
                                        </h2></td>
                        </tr>
                        </tr>
                                <td> </td>
                                <td> </td>
                        <tr>
                </table>
        </body>
</html>

5在开发板执行应用
root@ELF1:~# /etc/boa/boa

6在浏览器输入开发板IP,效果如下
微信图片_20240202083854.png

boa的移植到这里就完成啦。小伙伴们学会了吗?


    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    Powered by Discuz! X3.5  © 2001-2013 Comsenz Inc.