linux 搭建webserver-BOA

linux 搭建webserver-BOA嵌入式 linux 搭建 webserver BOA

一、下载源码

官网地址:Boa Webserver

linux 搭建webserver-BOA

linux 搭建webserver-BOA

二、编译boa

下载得到boa-0.94.13.tar.gz,解压后进入boa-0.94.13/src目录,执行如下命令生成Makefile文件:

./configure

如果是交叉编译,需要修改 Makefile, 设置对应的交叉编译器 。例如使用arm-linux-gnueabihf工具链要找到 CC 和 CPP 变量 ,修改为:

CC = arm-linux-gnueabihf-gcc CPP = arm-linux-gnueabihf-gcc -E

执行make编译,可能会出现一些报错,如果某些程序未安装的话:

linux 搭建webserver-BOA

提示 yacc: Command not found 是因为yacc未安装,需要安装yacc,通过

sudo apt-get install byacc 

命令进行安装

linux 搭建webserver-BOA

继续make,提示lex: Command not found,需要通过

sudo apt-get install flex 

安装lex

linux 搭建webserver-BOA

linux 搭建webserver-BOA

安装了lex,继续编译,会出现报错

linux 搭建webserver-BOA

需要将把compat.h 文件里的:

#define TIMEZONE_OFFSET(foo) foo->tm_gmtoff

修改为

#define TIMEZONE_OFFSET(foo) foo->tm_gmtoff

linux 搭建webserver-BOA

修改后继续make,就可以正常编译通过了

linux 搭建webserver-BOA

三、配置boa服务

在/etc目录下创建boa目录

(如果是交叉编译的,要在目标环境运行,记得将把Ubuntu 的/etc 目录下的 mime.types 文件传到开发板的/etc目录下,如果目标环境下没有的话。mime.types 文件 是MIME(多用途因特网邮件扩展),这是web服务器支持的规范。),用于存放boa的配置文件及log文件。

linux 搭建webserver-BOA

在开发板根目录下建立 www 文件夹 ,www 目录下面建立文件夹 cgi-bin 目录 (用于存放后期页面及交互代码):

mkdir -p /www/cgi-bin

linux 搭建webserver-BOA

把boa-0.94.13目录下的boa.conf 文件传到开发板的/etc/boa目录下(如果是要在目标板上运行boa server)。

scp boa.conf root@192.168.1.10:/etc/boa

linux 搭建webserver-BOA

把boa 可执行程序传到开发板的 bin 目录下 。

scp boa root@192.168.1.10:/bin

linux 搭建webserver-BOA

在开发板/etc目录下创建group文件:

cd /etc touch group

在开发板上使用vi编辑器打开/etc/boa目录下的boa.conf文件,需要做如下修改:

① 把里面的Group nogroup 改为Group 0 。

②把ErrorLog 和 AccessLog 这两行, 指定 log 文件的路径,把log保存到/etc/boa目录下,修改如下:

ErrorLog /etc/boa/error_log # Please NOTE: Sending the logs to a pipe ('|'), as shown below, # is somewhat experimental and might fail under heavy load. # "Usual libc implementations of printf will stall the whole # process if the receiving end of a pipe stops reading." #ErrorLog "|/usr/sbin/cronolog --symlink=/var/log/boa/error_log /var/log/boa/error-%Y%m%d.log" # AccessLog: The location of the access log file. If this does not # start with /, it is considered relative to the server root. # Comment out or set to /dev/null (less effective) to disable # Access logging. AccessLog /etc/boa/access_log

③ 把#ServerName www.your.org.here这一行, 修改为ServerName www.your.org.here:

​ # ServerName: the name of this server that should be sent back to # clients if different than that returned by gethostname + gethostbyname ServerName www.your.org.here ​

④ 然后找到DocumentRoot /var/www这一行, 修改为DocumentRoot /www:

DocumentRoot /www

⑤ 然后找到ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/这一行, 修改为ScriptAlias /cgi-bin/ /www/cgi-bin/:

ScriptAlias /cgi-bin/ /www/cgi-bin/

上面就是boa.conf配置文件需要修改的几点内容。

最后,进入我们前面创建的 www 目录, 然后使用 vi index.html 命令建立 index.html 网页文件进行测试,关于简单网页的设计大家可以上网搜一些教程。这里我们设计一个简单的网页如:

  boa服务器测试  

boa test

smallerxuan

linux boa test test test。

保存并退出 index.html。到了这一步我们的web服务器就大致搭建完成了,服务器上有一个简单的网页文件index.html。

四、测试boa服务

下面进行简单的测试:

在我们的开发板上输入boa 命令启动 web 服务器,启动的时候可能会因为日志文件不存而报错,只需要创建响应的文件即可 。

linux 搭建webserver-BOA

输入 如下命令查看boa程序是否启动成功:

ps -e | grep boa

linux 搭建webserver-BOA

boa 进程启动成功后,在浏览器中输入我们开发板的 IP 地址就可以访问到 index.html 网页:

linux 搭建webserver-BOA

可见,我们可以通过浏览器访问我们使用开发板搭建的web服务器上的网页,表明我们已经成功在开发板搭建了基于boa的web服务器。

本文只是简单地演示打通开发板web服务器环境并设计了一个简单地网页,后续我们再继续来探究如何通过网页来与我们地开发板进行交互,如:通过网页点亮开发板上地led、把开发板上地一些数据传到网页上进行显示等内容

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/226601.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月16日 下午10:33
下一篇 2026年3月16日 下午10:34


相关推荐

  • J2EE开发架构大总结

    J2EE开发架构大总结nbsp 一些主流的架构模式 总结一下 nbsp 宏观上讲 我们采用了分层的架构 将软件分为如下的层次 nbsp 在具体的实现中 表现层可为 Struts JSF 等 业务层 访问层可为 JavaBean 或 EJB 等 资源层一般为数据库 nbsp 宏观上的层次就是这样 在具体现实中 有如下几种实现形式 1 轻量级实现 nbsp nbsp nbsp nbsp nbsp 表现层使用基于 MVC 的框架 比如 Struts 或 JSF nbsp nbsp nbsp nbsp nbsp nbsp 业务层使用 Ja

    2026年3月17日
    1
  • 百度的市值,已约等于MiniMax+智谱的两倍

    百度的市值,已约等于MiniMax+智谱的两倍

    2026年3月13日
    3
  • 一步步教你如何配置Java环境变量(超级详细)

    一步步教你如何配置Java环境变量(超级详细)1 首先需要去官网下载 jdk 的安装包 下载网站 www sun java com2 安装好后开发工具是一定需要的 剩下随意 3 先右击此电脑 win10 然后点击属性 4 然后找到右边的高级系统设置 5 点击下方的环境变量 6 点击下面的系统变量 s 处的新建 去新建系统变量 变量名为 JAVA HOME 变量值为我们一开始安装 jdk 的地址 直接找到复制粘贴即可 你自己安装的在哪就是哪里 安装时候注意下就行好了 别找不到了 7 再按上面同样方法 新建系统变量

    2026年3月19日
    2
  • 详解python主函数

    详解python主函数详解 python 主函数 python 主函数怎么写 python 主函数的作用 用 python 一段时间了 但是每次看到 python 的主函数还是感觉云里雾里 甚至总会忘记 所以干脆就好好总结一下 方便以后参考

    2026年3月26日
    2
  • bae7088d064a7707d735e9dcb7a7f092

    bae7088d064a7707d735e9dcb7a7f092XCL:iVBORw0KGgoAAAANSUhEUgAAA9kAAAFoCAIAAADM369EAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA2ZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3pr…

    2022年7月24日
    10
  • 什么是服务熔断,什么是服务降级?

    什么是服务熔断,什么是服务降级?什么是服务熔断 nbsp 熔断这一概念来源于电子工程中的断路器 CircuitBreak 在互联网系统中 当下游服务因访问压力过大而响应变慢或失败 上游服务为了保护系统整体的可用性 可以暂时切断对下游服务的调用 nbsp 这种牺牲局部 保全整体的措施就叫做熔断 nbsp 如果不采取熔断措施 我们的系统会怎样呢 我们来看一个栗子 nbsp 当前系统中有 A B C 三个服务 服务 A 是上游 服务 B

    2026年3月26日
    2

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号