BOA使用以及简析
BOA是一个非常简洁快速的单任务http服务器。官网关于BOA介绍《Boa Webserver》。
下面简单从Buildroot下配置编译、服务启动、访问做个介绍,然后对服务流程做个简单的分析。
1 Buildroot下配置BOA
在Buildroot中配置boa:
Target packages ->Networking applications ->boa
编译完成后,输出如下文件到rootfs中:
/usr/sbin/boa--boa主程序。 /usr/lib/boa/boa_indexer--在DirectoryMaker配置,创建一个对DocumentRoot目录的访问。 /etc/boa/boa.conf--boa配置文件。 /etc/mime.types--定义了文件扩展名和Content-Type对照关系。关于MIMIE参考《MIME(多用途互联网邮件扩展类型)》。
2 BOA配置以及启动
2.1 修改boa.conf
下面是boa.conf主要配置,更多参考《Boa Webserver: Installation and Usage》。
# $Id: boa.conf,v 1.1 2004/10/09 02:48:37 andersen Exp $ # The "ServerRoot" is not in this configuration file. It can be compiled # into the server (see defines.h) or specified on the command line with # the -c option, for example: # # boa -c /usr/local/boa Port 80--boa提供服务的端口号。
#Listen 192.68.0.5
User nobody--配置启动boa服务的用户和组。 Group nogroup ErrorLog /var/boa/error_log--指定错误日志保存文件。 AccessLog /var/boa/access_log--指定访问日志保存文件。 #UseLocaltime--是使用UTC时间还是Local时间。 #VerboseCGILogs #ServerName www.your.org.here #VirtualHost DocumentRoot /var/www--HTML文件的根目录。 # UserDir: The name of the directory which is appended onto a user's home # directory if a ~user request is recieved. UserDir public_html DirectoryIndex index.html--HTTP服务的入口,被注释后使用DirectoryMake提供服务。 DirectoryMaker /usr/lib/boa/boa_indexer--在DocumentIndex没有配置时,创建对DocumentRoot目录的访问。 # DirectoryCache /var/spool/boa/dircache KeepAliveMax 1000KeepAliveTimeout 10 MimeTypes /etc/mime.types--MIME配置文件。 DefaultType text/plain #AddType application/x-httpd-cgi cgi # Alias /doc /usr/doc ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
根据boa.conf配置,需要做以下操作:
1. 创建ErrorLog和AccessLog。
mkdir /var/boa -p touch /var/boa/error_log touch /var/boa/access_log
2. 编写/var/www/index.html文件。
<html>
<body>
<h1>
ArnoldLu Home
</h1>
</body>
</html>
2.2 启动boa
启动boa:
boa &
2.3 访问boa web服务
输入服务器网址,即可访问boa提供的服务。
3 BOA简单分析
boa读取boa.conf建立Socket提供http服务,HTTP Browser对HTTP Server发起请求,boa将index.html内容发送到Browser中。
联系方式:arnoldlu@qq.com