BOA 服务器是一个小巧高效的web服务器,是一个运行于unix或linux下的,支持CGI的、适合于嵌入式系统单任务的http服务器,源代码开放、性能高。下载地址:http://www.boa.org/
在PC上配置和移植到嵌入式系统思路是差不多的,关键是修改boa.conf文件,如编译器,还有创建相应的目录等。如果在PC上搞定,那在ARM板上是很容易的事了。
网上关于该服务器的配置的资料很多,且基本可行。不过个人觉得很多介绍方法都是先让人“错”了,才告诉真正的操作方法,太折腾人了。根据个人的配置过程,做一下整理,按照以下步骤,应该是可以顺利完成配置的。
1、解压
将下载的源码压缩包放到某目录下,然后执行:
tar –xvzf boa-0.94.13.tar.tar
2、进入/boa-0.94.13/src目录,可以看到如下文件
修改compat.h文件
#ifdef HAVE_TM_GMTOFF
#define TIMEZONE_OFFSET(foo) foo##->tm_gmtoff
#else
#define TIMEZONE_OFFSET(foo) timezone
#endif
改为:
#ifdef HAVE_TM_GMTOFF
#define TIMEZONE_OFFSET(foo) foo->tm_gmtoff
#else
#define TIMEZONE_OFFSET(foo) timezone
#endif
3.执行:./configure
之后,可以查看,生成了些新文件:
再执行make
此时生成更多目标文件:
4.拷贝/boa-0.94.13/boa.conf 到/etc/boa目录下:
mkdir /etc/boa
cp boa.conf /etc/boa
5.进入/etc/boa目录,打开boa.conf文件,并做如下修改:
(1)将User nobody和Group nogroup 分别改为:User 0和Group 0,如下所示:
(2)修改路径
改为:
保存后退出
6.根据boa.conf创建必要的目录
(1)存放网页目录:mkdir /var/www
(2)存放CGI文件目录:mkdir /var/www/cgi-bin
(3)存放日志目录:mkdir /var/log/boa/
7.创建用于测试的index.html文件(网页首页)
<HTML>
<HEAD>
<TITLE>Hello World</TITLE>
</HEAD>
<BODY>
Hello,my world!
</BODY>
</HTML>
保存为index.html,并存至/var/www目录下
8.启动服务器
执行./boa
通过ps -e查看:
可见,进程PID为3449,表明已经启动成功。此时,也可以查看日志文件:vi /var/log/boa/error_log
可以看到服务器启动的进程ID和端口号。
9.访问服务器
成功启动后,当然要看看是否真正可以通过浏览器看到服务器中的网页。
打开网页,输入本机的ip(我的是虚拟机,ip地址设置为是192.168.1.3)
则可以看到网页:
看吧,成功了!
10.其他
(1)如果想关闭该服务器,则可以执行kill语句来关闭进程:
kill 3449
(2)本配置关键是了解boa服务器配置过程。实际上在PC机上不会选择boa服务器,往往是选用性能更加的Appache。但是该方法掌握之后,可以很容易移植boa到嵌入式平台上。之后的一些移植过程和上述配置boa服务器过程差不多,根据实际情况调整即可。因为我用的是虚拟机,且传输文件是通过ftp的形式。刚开始还摸索了一下虚拟机如何和ARM开发板进行网络连接。后来通过查找资料,就轻松两步搞定。
首先选择虚拟机上的Edit-->Virtual Network Editor,选择有线网卡
然后是选择菜单VM-->setting,做以下选择:
这时,你可以ping一下,已经搞定了!!