EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
本帖最后由 行者~ABC 于 2020-9-21 13:21 编辑 , Y$ ]; |/ V1 ]# p5 G1 Z
: |" x/ ?! T, u操作环境: 编译器:ARM-2014.05编译器 文件系统:使用的busybox移植Qt5.7的文件系统。 硬件平台:IMX6ULL% u+ l0 M( d) E! o) s6 x0 Q7 R- R" S
4 `3 t" {1 K$ k" l( p
本章用iTOP-IMX6ULL开发板搭建一个web服务器。需要用到boa,boa是一个小型的web服务器,可执行代码只有约60KB,可以用于多种平台,它是一个单任务web服务器,只能依次完成用户的请求,在嵌入式中比较常见,可以在上面下载最新版本的boa,这里使用的是boa-0.94.13.tar.gz。下载解压后如图1: ![]()
' z# c# U' z0 B' J5 r* `2 Y进入解压后的boa-0.94.13文件夹,进入目录src,运行./configure生成Makefile编译文件,成功后如图2: ![]()
; T6 w0 t1 q' g' S o( l% v修改Makefile,找到“CC = gcc”这一行,将这一行修改成“CC = arm-none-linux-gnueabi-gcc -static”,找到”CPP = gcc -E“这一行,修改成“CPP = arm-none-linux-gnueabi-gcc -E -static”,修改完成后如图3: ![]()
( m- u% S% S. q; r5 h5 E完成后执行make编译,过程中可能会报缺少依赖库,百度查找即可解决,如果出现下面的错误要修改compat.h,如图4所示: ![]() - b- d- @2 u1 @8 X8 Z+ D- H
解决办法,使用vi命令打开当前目录下的compat.h,然后找到“#define TIMEZONE_OFFSET(foo) foo##->tm_gmtoff”这一行,修改为如图 5所示: ![]() . x6 h1 _0 \' [6 ~; @: S# y/ p. H
然后保存并退出compat.h,输入make,继续编译boa,如图6: ![]() : e3 ]4 _- ^/ z/ ? U! z
接下来使用arm-none-linux-gnueabi-strip boa命令为bos文件瘦身,如图7: ![]() " h- n2 |8 `1 T
通过上面的图片看到boa文件比之前变小了,至此boa的编译就完成了,下面需要把boa文件拷贝到文件系统里面。 拷贝编译最终生成的boa到共享文件夹。 虚拟机Ubuntu的/etc目录下的mime.types文件到共享文件夹。 boa-0.94.13目录下面有个默认的boa.conf文件,把它也拷贝到共享文件夹。 ![]()
" z& d; j' z$ e4 [7 z( o6 r' h6 G! f' b在/etc/目录下创建boa文件夹,将boa.conf拷贝到板子的etc/boa目录下; ![]() ( K2 _/ X( B; x* Z
mime.types拷贝到开发板etc目录下; ![]()
! n* A% C8 ?0 c8 F/ `& zboa拷贝到开发板的bin目录下 ![]() 5 ]" D o0 I5 P* r6 t% y
接下来在开发板根目录下建立www文件夹,如图12: ![]() ( K5 _0 \6 X$ r( T9 L! l
然后在开发板上面建立的www目录下面建立文件夹cgi-bin目录,如图13: ![]()
; w i3 w$ k. j& \8 \ A: F然后在开发的etc目录下用命令touch group命令建立group文件,如图14: ![]()
# O2 V5 H( F7 u9 j8 v0 R( `然后进到开发板etc/boa目录,使用vi boa.conf命令打开boa.conf文件,如图15所示。 打开boa.conf文件,找到”Group nogroup”,修改为”Group 0”。 ![]() % u' G$ y# V& \
找到“ErrorLog ”和“AccessLog”这两行,指定log文件的路径,文件就会自动在此路径创建,修改成如图16: ![]() 4 p8 }$ o v! K! s, h* [
然后找到“#ServerName www.your.org.here”这一行,修改为“ServerName www.your.org.here“如图17所示: ![]()
) d, s9 G, ]. h. i, D然后找到“DocumentRoot /var/www”这一行,修改 为“DocumentRoot /www”(注意:这里的“/www”就是前面步骤使用mkdir创建的www目录),如图 18所示: ![]()
3 R0 c* Z3 u$ n k然后找到“ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/”这一行,修改为“ScriptAlias /cgi-bin/ /www/cgi-bin/”,如图 19所示: ![]()
6 D3 o# L' v5 V; B! N% A$ x) ~( yboa.conf修改结束。 进入到前面创建的 www 目录,然后使用 vi index.html 命令建立 index.html 文件,在里面输入下面的代码:(注意:web 页面不要包含汉字) ![]()
. n! [3 X) u( T( S代码如图 20所示: 然后保存并退出 index.html,至此基于 boa 的 web 服务器就搭建完成了,上面创建的index.html 是一个简单的网页,用于测试。现在启动开发板,开发板起来以后直接 输入 ps - e | grep “boa” 命令,可以看到 boa 程序在运行,如图21: ![]() 4 Z7 h. b+ D3 t1 s2 W {1 T
在Ubuntu的浏览器输入开发板的IP地址可以看到我们放入的index.html网页: ![]() 7 C# v2 n1 Q/ z2 f
到此boa服务器移植成功。 ![]()
- w! X% K2 R" _4 c* V- Z( Z迅为i.MX6ULL终结者开发板使用手册内容提纲: ![]() 0 n: H' y7 y. t8 [& L
|