EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
本帖最后由 行者~ABC 于 2020-9-21 13:21 编辑 4 C( P/ R z5 o# i z
) z4 I2 Z8 X- G# H$ B* q! }
操作环境: 编译器:ARM-2014.05编译器 文件系统:使用的busybox移植Qt5.7的文件系统。 硬件平台:IMX6ULL
0 v# x+ r7 S3 d % v2 {2 V5 y' t0 L6 `
本章用iTOP-IMX6ULL开发板搭建一个web服务器。需要用到boa,boa是一个小型的web服务器,可执行代码只有约60KB,可以用于多种平台,它是一个单任务web服务器,只能依次完成用户的请求,在嵌入式中比较常见,可以在上面下载最新版本的boa,这里使用的是boa-0.94.13.tar.gz。下载解压后如图1: ![]() & k7 _3 ?0 I) l; a: n; e- U
进入解压后的boa-0.94.13文件夹,进入目录src,运行./configure生成Makefile编译文件,成功后如图2: ![]()
" b. m2 }3 g$ P! Y修改Makefile,找到“CC = gcc”这一行,将这一行修改成“CC = arm-none-linux-gnueabi-gcc -static”,找到”CPP = gcc -E“这一行,修改成“CPP = arm-none-linux-gnueabi-gcc -E -static”,修改完成后如图3: ![]()
' t3 H/ V# B: [5 G完成后执行make编译,过程中可能会报缺少依赖库,百度查找即可解决,如果出现下面的错误要修改compat.h,如图4所示: ![]() 3 k7 y. p- m5 u) ^) v- _' F
解决办法,使用vi命令打开当前目录下的compat.h,然后找到“#define TIMEZONE_OFFSET(foo) foo##->tm_gmtoff”这一行,修改为如图 5所示: ![]()
3 x- n) I+ i9 v; E& ^" W+ n4 g C然后保存并退出compat.h,输入make,继续编译boa,如图6: ![]()
8 ], [4 a; _2 ?. x- v! s2 n& P, \接下来使用arm-none-linux-gnueabi-strip boa命令为bos文件瘦身,如图7: ![]() . A4 N5 M6 ~! P
通过上面的图片看到boa文件比之前变小了,至此boa的编译就完成了,下面需要把boa文件拷贝到文件系统里面。 拷贝编译最终生成的boa到共享文件夹。 虚拟机Ubuntu的/etc目录下的mime.types文件到共享文件夹。 boa-0.94.13目录下面有个默认的boa.conf文件,把它也拷贝到共享文件夹。 ![]() % u( }" \7 w0 D8 a* X/ w1 X
在/etc/目录下创建boa文件夹,将boa.conf拷贝到板子的etc/boa目录下; ![]()
7 o" E7 Q/ @4 T9 A' Pmime.types拷贝到开发板etc目录下; ![]()
& H G' I3 X, ?/ ?$ _! cboa拷贝到开发板的bin目录下 ![]() ' \/ ]6 d" G2 i+ ]& `
接下来在开发板根目录下建立www文件夹,如图12: ![]() * ]0 _7 @* K, |4 W F3 v
然后在开发板上面建立的www目录下面建立文件夹cgi-bin目录,如图13: ![]()
* `) v0 B6 z9 U" S. Q然后在开发的etc目录下用命令touch group命令建立group文件,如图14: ![]() Y* e" q- Y& V5 m6 I
然后进到开发板etc/boa目录,使用vi boa.conf命令打开boa.conf文件,如图15所示。 打开boa.conf文件,找到”Group nogroup”,修改为”Group 0”。 ![]() 7 P: F( V4 F% T Q+ O8 I D3 n
找到“ErrorLog ”和“AccessLog”这两行,指定log文件的路径,文件就会自动在此路径创建,修改成如图16: ![]()
* {9 ]- a1 K4 @. t2 x% m4 t- \. K然后找到“#ServerName www.your.org.here”这一行,修改为“ServerName www.your.org.here“如图17所示: ![]() 4 x% a0 h* [1 j' g' g
然后找到“DocumentRoot /var/www”这一行,修改 为“DocumentRoot /www”(注意:这里的“/www”就是前面步骤使用mkdir创建的www目录),如图 18所示: ![]() 3 O" y3 u. o9 m% V$ e) R
然后找到“ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/”这一行,修改为“ScriptAlias /cgi-bin/ /www/cgi-bin/”,如图 19所示: ![]()
8 U$ P$ O% B2 b& V2 `& \& V3 ^8 yboa.conf修改结束。 进入到前面创建的 www 目录,然后使用 vi index.html 命令建立 index.html 文件,在里面输入下面的代码:(注意:web 页面不要包含汉字) ![]() 7 P% x* C9 U# M8 ^
代码如图 20所示: 然后保存并退出 index.html,至此基于 boa 的 web 服务器就搭建完成了,上面创建的index.html 是一个简单的网页,用于测试。现在启动开发板,开发板起来以后直接 输入 ps - e | grep “boa” 命令,可以看到 boa 程序在运行,如图21: ![]()
" |: {7 w' d {: F# M, }在Ubuntu的浏览器输入开发板的IP地址可以看到我们放入的index.html网页: ![]() ' F9 \( E8 j# K ~: u( i/ \& v
到此boa服务器移植成功。 ![]()
) m+ u$ G& g4 v( u5 A9 n( p3 ]) |迅为i.MX6ULL终结者开发板使用手册内容提纲: ![]() 1 z- { W6 z2 v$ v% Q) t
|