网站优化工作安排,如何开通属于自己的网站,长沙网站设计,昆明做公司网站1、Boa服务器介绍 BOA 服务器是一个小巧高效的web服务器#xff0c;是一个运行于unix或linux下的#xff0c;支持CGI的、适合于嵌入式系统的单任务的http服务器#xff0c;源代码开放、性能高。 Boa 嵌入式 web 服务器的官方网站是http://www.boa.org/。 特点 轻量级#x…1、Boa服务器介绍 BOA 服务器是一个小巧高效的web服务器是一个运行于unix或linux下的支持CGI的、适合于嵌入式系统的单任务的http服务器源代码开放、性能高。 Boa 嵌入式 web 服务器的官方网站是http://www.boa.org/。 特点 轻量级Boa 占用的系统资源极少可在资源有限的嵌入式设备上高效运行如路由器、智能家居设备等。 开源其源代码开放便于开发者根据自身需求进行定制和优化降低开发成本。 简单易用配置文件简单直观易于理解和修改降低了服务器的部署和管理难度。 支持 CGI支持通用网关接口CGI允许服务器与外部程序交互实现动态网页功能。
工作原理 网络连接处理Boa 服务器监听指定的端口等待客户端的连接请求。当有客户端发起连接时服务器接受连接并为该连接创建一个新的进程或线程来处理客户端的请求。 请求解析服务器接收客户端发送的 HTTP 请求对请求进行解析包括请求的方法如 GET、POST 等、请求的资源路径、请求头信息等。 资源处理根据请求的资源路径服务器在文件系统中查找对应的资源文件。如果请求的是静态资源如 HTML 文件、图片、CSS 文件等服务器直接将该资源文件读取并发送给客户端。如果请求的是动态资源如 CGI 脚本服务器会调用相应的 CGI 程序来处理请求并将 CGI 程序的输出结果发送给客户端。 响应生成与发送服务器根据请求的处理结果生成 HTTP 响应消息包括响应状态码、响应头信息和响应体。然后将响应消息发送给客户端关闭连接。
应用场景 智能家居控制智能家居设备可以通过 Boa 服务器提供 Web 界面用户通过浏览器即可方便地控制家电设备、查看环境数据等。 工业自动化监控在工业自动化领域Boa 服务器可以用于搭建监控系统实现对生产设备的远程监控和管理。 物联网设备管理物联网设备通常需要与云端或其他设备进行通信和交互Boa 服务器可以作为设备的本地 Web 服务器提供设备管理和配置的接口。
2、Boa服务器的编译
从www.boa.org下载Boa源码当前最新版本为0.94.13将其解压并进入源码目录的src子目录。
tar xzf boa-0.94.13.tar.gz 通过配置命令生成Makefile文件 然后运行make进行编译得到的可执行程序为boa。
//飞腾派OS系统编译boa服务器时会报缺少yacc、lex工具通过下述命令安装
sudo apt-get install bison
sudo apt-get install flex
./configure
make
编译错误 将src下boa.c的第226行注释掉重新编译下载即可。225 if(setuid(0) ! -1) {
226 // DIE(“icky Linux kernel bug!”);
227 } 修改compat.h中的
#define TIMEZONE_OFFSET(foo) foo##-tm_gmtoff
为
#define TIMEZONE_OFFSET(foo) foo-tm_gmtoff修改config.c中相关变量定义前加上extren
extern char *error_log_name;
extern char *access_log_name;
extern char *cgi_log_name;
编译成功后会生成boa的可执行文件可以当前目录通过sudo ./boa命令执行或复制到/sbin目录通过sudo boa执行。 3、Boa服务器的配置
boa启动时需要一个配置文件boa.conf该文件的缺省目录目录是/etc/boa/需要从源码目录中复制到/etc目录下。
$sudo mkdir /etc/boa
$sudo cp boa-0.94.13/boa.conf /etc/boa/
$sudo vim /etc/boa/boa.conf (配置的时候配置文件的目录可根据自己的情况设置路径主要考虑到可写问题)
boa启动时需要一个配置文件boa.conf该文件的缺省目录由src/defines.h文件的SERVER_ROOT定义或者在启动boa的时候通过参数“-c”指定。其中指定的默认目录是/etc/boa/
1. 建立/etc/boa目录, 并复制boa.conf到/etc/boa目录下并按照以下步骤进行修改。
2. 修改访问权限修改User nobody 为 User 0 ; 修改Group nogroup 为 Group 0
3. 设定日志目录boa日志有两部分Errorlog 和 AccessLog一般情况下为/var/log/boa/error_log 和 /var/log/boa/access_log两个文件。所以根据自己的情况情况设置日志目录
ErrorLog /var/log/boa/error_log
AccessLog /var/log/boa/access_log
(注意:这里/var/log/boa目录必须为可写否则会出项错误:log.c:73 – Unable to dup2 the error log: Bad file r.)
//修订访问权限
User 0
Group 0
//修改html文件在开发板的存放目录
DocumentRoot /home/user/boa_test/www/
//修改cgi文件在开发板的存放目录
ScriptAlias /cgi-bin/ /home/user/boa_test/www/cgi-bin/ 开发板目录与文件设置
//创建boa日志目录与相关文件
$sudo mkdir /var/log/boa
$sudo touch /var/log/boa/error_log
$sudo touch /var/log/boa/access_log
//设置可读写权限
$sudo chmod 666 /var/log/boa/*4、Boa服务器使用 WEB服务器首页文件index.html 写一个最简单的index.html文件放在/home/user/boa_test/www/目录下(boa.conf文件中设定)。
html
body
h1Hello E2000-Pi BOA./h1
/body
/html 启动boa服务器
$sudo boa 浏览器访问
保证你的电脑同开发板是在一个局域网中相互的ip应可以ping通。 打开电脑中浏览器在地址栏输入开发板的ip访问成功的显示的网页界面。 常见问题 无法访问–服务器没有启动。 404 提示–服务器启动没有对应网页文件。