搭建Web服务器-迅为IMX6ULL开发板
操作环境:编译器:arm-2014.05编译器文件系统:使用的busybox移植Qt5.7的文件系统。硬件平台:IMX6ULL本章用iTOP-IMX6ULL开发板搭建一个web服务器。需要用到boa,boa是一个小型的web服务器,可执行代码只有约60KB,可以用于多种平台,它是一个单任务web服务器,只能依次完成用户的请求,在嵌入式中比较常见。boa的官方网站为www.boa.org,可以在上面下载最新版本的boa,这里使用的是boa-0.94.13.tar.gz。下载解压后如图1:http://www.eechina.com/data/attachment/forum/202009/21/104646osibxjktuulaaall.jpg
进入解压后的boa-0.94.13文件夹,进入目录src,运行./configure生成Makefile编译文件,成功后如图2:http://www.eechina.com/data/attachment/forum/202009/21/104646jevo9vvbonbd9de9.jpg
修改Makefile,找到“CC = gcc”这一行,将这一行修改成“CC = arm-none-linux-gnueabi-gcc -static”,找到”CPP = gcc -E“这一行,修改成“CPP = arm-none-linux-gnueabi-gcc -E -static”,修改完成后如图3:http://www.eechina.com/data/attachment/forum/202009/21/104646zzkukxk9w9mkcwwr.jpg
完成后执行make编译,过程中可能会报缺少依赖库,百度查找即可解决,如果出现下面的错误要修改compat.h,如图4所示:http://www.eechina.com/data/attachment/forum/202009/21/104646qju0o0nj0r2zjnzj.jpg
解决办法,使用vi命令打开当前目录下的compat.h,然后找到“#define TIMEZONE_OFFSET(foo) foo##->tm_gmtoff”这一行,修改为如图 5所示:http://www.eechina.com/data/attachment/forum/202009/21/104646kj6owz68ooelejqe.jpg
然后保存并退出compat.h,输入make,继续编译boa,如图6:http://www.eechina.com/data/attachment/forum/202009/21/104646zgxyipbbyixpi1ym.jpg
接下来使用arm-none-linux-gnueabi-strip boa命令为bos文件瘦身,如图7:http://www.eechina.com/data/attachment/forum/202009/21/104646ypanpddvgv5f4qzt.jpg
通过上面的图片看到boa文件比之前变小了,至此boa的编译就完成了,下面需要把boa文件拷贝到文件系统里面。拷贝编译最终生成的boa到共享文件夹。虚拟机Ubuntu的/etc目录下的mime.types文件到共享文件夹。boa-0.94.13目录下面有个默认的boa.conf文件,把它也拷贝到共享文件夹。http://www.eechina.com/data/attachment/forum/202009/21/104646zkvd3lde1h18yp1p.jpg
在/etc/目录下创建boa文件夹,将boa.conf拷贝到板子的etc/boa目录下;http://www.eechina.com/data/attachment/forum/202009/21/104646z7vuwrrv0rw0rwrz.jpg
mime.types拷贝到开发板etc目录下;http://www.eechina.com/data/attachment/forum/202009/21/104646if3xlsxf4hqft1pv.jpg
boa拷贝到开发板的bin目录下http://www.eechina.com/data/attachment/forum/202009/21/104646xz099fl3ztmm3d2t.jpg
接下来在开发板根目录下建立www文件夹,如图12:http://www.eechina.com/data/attachment/forum/202009/21/104647be6gebe9n3geubnb.jpg
然后在开发板上面建立的www目录下面建立文件夹cgi-bin目录,如图13:http://www.eechina.com/data/attachment/forum/202009/21/104647dutaaoiitoagtt36.jpg
然后在开发的etc目录下用命令touch group命令建立group文件,如图14:http://www.eechina.com/data/attachment/forum/202009/21/104647aw646ss4naeew9us.jpg
然后进到开发板etc/boa目录,使用vi boa.conf命令打开boa.conf文件,如图15所示。打开boa.conf文件,找到”Group nogroup”,修改为”Group 0”。http://www.eechina.com/data/attachment/forum/202009/21/104647eivwlxbnowbwlnzl.jpg
找到“ErrorLog ”和“AccessLog”这两行,指定log文件的路径,文件就会自动在此路径创建,修改成如图16:http://www.eechina.com/data/attachment/forum/202009/21/104647mkcshsrrzprtyzit.jpg
然后找到“#ServerName www.your.org.here”这一行,修改为“ServerName www.your.org.here“如图17所示:http://www.eechina.com/data/attachment/forum/202009/21/104647d8edkvr8ypksvnor.jpg
然后找到“DocumentRoot /var/www”这一行,修改为“DocumentRoot /www”(注意:这里的“/www”就是前面步骤使用mkdir创建的www目录),如图 18所示:http://www.eechina.com/data/attachment/forum/202009/21/104647dttfpvcrmpajmzam.jpg
然后找到“ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/”这一行,修改为“ScriptAlias /cgi-bin/ /www/cgi-bin/”,如图 19所示:http://www.eechina.com/data/attachment/forum/202009/21/104647ihzk54khrw4n2lhq.jpg
boa.conf修改结束。进入到前面创建的 www 目录,然后使用 vi index.html 命令建立 index.html 文件,在里面输入下面的代码:(注意:web 页面不要包含汉字)http://www.eechina.com/data/attachment/forum/202009/21/110129vot0gsu5mg2wlonn.jpg
代码如图 20所示:http://www.eechina.com/data/attachment/forum/202009/21/104647ap8hzvxuhaaxzrpr.jpg然后保存并退出 index.html,至此基于 boa 的 web 服务器就搭建完成了,上面创建的index.html 是一个简单的网页,用于测试。现在启动开发板,开发板起来以后直接输入 ps - e | grep “boa” 命令,可以看到 boa 程序在运行,如图21:http://www.eechina.com/data/attachment/forum/202009/21/104647hpds597us4vtxbti.jpg
在Ubuntu的浏览器输入开发板的IP地址可以看到我们放入的index.html网页:http://www.eechina.com/data/attachment/forum/202009/21/104647prt1rjjg8vg8jtjb.jpg
到此boa服务器移植成功。http://www.eechina.com/data/attachment/forum/202009/21/104647oid5bkria6r4cii9.jpg
迅为i.MX6ULL终结者开发板使用手册内容提纲:http://www.eechina.com/data/attachment/forum/202009/21/104647alv6egfnzrug6ab1.jpg
谢谢分享【搭建Web服务器】
页:
[1]