本帖最后由 翠花儿 于 2021-5-31 18:05 编辑
配套资料在网盘资料的路径为“iTOP-i.MX6开发板资料汇总(不含光盘资料)\08_iTOP-i.MX6开发板Linux系统开发资料\18-Qt系统搭建web服务器”目录下。 在iTOP-IMX6搭建web服务器。操作环境:编译器:arm-2009q3编译器,文件系统使用的busybox移植Qt5.7的文件系统,本章用iTOP-IMX6Q开发板搭建一个web服务器。需要用到boa,boa是一个小型的web服务器,可执行代码只有约60KB,可以用于多种平台,它是一个单任务web服务器,只能依次完成用户的请求,在嵌入式中比较常见。boa的官方网站为www.boa.org,可以在上面下载最新版本的boa,这里使用的是boa-0.94.13.tar.gz。 输入tar -vxf boa-0.94.13.tar解压压缩包,如下图所示: 进入解压后的boa-0.94.13文件夹,进入目录src,运行./configure生成Makefile编译文件,如下图所示: 配置成功后如下图所示: 输入vim Makefile修改Makefile,找到“CC = gcc”这一行,将这一行修改成“CC = arm-none-linux-gnueabi-gcc -static”,找到”CPP = gcc -E“这一行,修改成“CPP = arm-none-linux-gnueabi-gcc -E -static”,修改完成后如下图所示: 完成后执行make编译,过程中可能会报缺少依赖库,百度查找即可解决,如果出现下面的错误要修改compat.h,如下图所示 解决办法,使用vi命令打开当前目录下的compat.h,然后找到 “#define TIMEZONE_OFFSET(foo) foo##->tm_gmtoff”这一行,修改为如下图所示: 然后保存并退出compat.h,输入make,继续编译boa,如下图所示: 接下来使用arm-none-linux-gnueabi-strip boa命令为bos文件瘦身,如下图所示。 通过上面的图片看到boa文件比之前变小了,至此boa的编译就完成了,下面需要把boa文件拷贝到文件系统里面。 通过连接ssh将编译最终生成的可执行文件boa拷贝到开发板的/bin目录下,如下图所示。 通过连接ssh将虚拟机Ubuntu的/etc目录下的mime.types文件拷贝到开发板etc目录下,如下图所示: boa-0.94.13目录下面有个默认的boa.conf文件,在/etc/目录下创建boa文件夹,通过连接ssh将boa.conf拷贝到开发板的etc/boa目录下,如下图所示: 接下来在开发板根目录下建立www文件夹,如下图所示。 然后在开发板上面建立的www目录下面建立文件夹cgi-bin目录,如下图所示: 然后在开发板的etc目录下用命令touch group命令建立group文件,如下图所示。 然后进到开发板etc/boa目录,使用vi boa.conf命令打开boa.conf文件,如下图所示: 打开boa.conf文件,找到”Group nogroup”,修改为”Group 0”。 找到“ErrorLog ”和“AccessLog”这两行,指定log文件的路径,文件就会自动在此路径创建,修改成如下图所示: 然后找到“DocumentRoot /var/www”这一行,修改为“DocumentRoot /www”(注意:这里的“/www”就是前面步骤使用mkdir创建的www目录),如下图所示。 然后找到“ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/”这一行,修改为“ScriptAlias /cgi-bin/ /www/cgi-bin/”,如下图所示 boa.conf修改结束。 进入到前面创建的 www 目录,然后使用 vi index.html 命令建立 index.html 文件,在里面输入下面的代码:(注意:web 页面不要包含汉字), <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" <head> <meta http-equiv="Content-Type" content="text/html; charset=gb2312" /> <title>iTOP-i.MX6ULL</title> <style type="text/css"> <!-- .STYLE1 {font-size: 36px} body { background-color: #996600; } --> </style> </head> <body> <table width="613" height="424" border="0" align="center"> <tr> <td colspan="2" align="center" valign="middle"><h2 class="STYLE1">iTOP-i.MX6ULL WEB SERVER </h2></td> </tr> <tr> <td></td> <td></td> </tr> <tr> <td> </td> <td> </td> </tr> </table> </body> </html> |
代码如下图所示: 然后保存并退出 index.html,至此基于 boa 的 web 服务器就搭建完成了,上面创建的index.html 是一个简单的网页,用于测试。 我们进入到bin目录下,运行boa服务器。 输入ps - e | grep “boa” 命令,可以看到 boa 程序在运行,如下图所示: 在浏览器输入开发板的IP地址可以看到我们放入的index.html网页: 到此boa服务器移植成功。
|