一、 BS 概述与 boa 搭建
1.1 BS 模式开发概述
BS 模式: 浏览器与服务器模式, 即通过浏览器访问服务器的 Web 资源。
1.1.1 web 前端开发技术
主要包含: HTML 、 CSS 、 XML/JSON 、 Javascript 、 AJAX
HTML
超文本标记语言 ( 英文全称 :HyperText Markup Language)
“ 超文本 ” 就是指页面内可以包含图片、链接,甚至音乐、程序等非文字元素
CSS :
CSS: 层叠样式表 ( 英文全称: Cascading Style Sheets)
CSS 是一种定义样式结构如字体、颜色、位置等的语言,被用于描述网页上的信息格式化和现实的
方式。
XML :
XML 指可扩展标记语言( EXtensible Markup Language )
XML 是一种标记语言,很类似 HTML
XML 的设计宗旨是传输数据,而非显示数据
XML 是各种应用程序之间进行数据传输的最常用的工具
Javascript :
JavaScript 是一种属于网络的脚本语言 , 已经被广泛用于 Web 应用开发 , 常用来为网页添加各式各样
的动态功能 , 为用户提供更流畅美观的浏览效果。
通常 JavaScript 脚本是通过嵌入在 HTML 中来实现自身的功能的。
AJAX :
Ajax 即 “Asynchronous Javascript And XML” (异步 JavaScript 和 XML ),是指一种创建交互式网
页应用的网页开发技术。
1.1.2 Web 服务器端开发技术
主要包含 CGI 、 ASP 、 PHP 、 JAVA 、 Python
CGI (英文全称: Common Gateway Interface )通用网关接口。
CGI 是 Web 服务器运行时外部程序的规范 , 按 CGI 编写的程序可以扩展服务器功能。
CGI 应用程序能与浏览器进行交互 , 还可通过数据库 API 与数据库服务器等外部数据源进行通信 , 从数据库
服务器中获取数据。
你可以简单的认为 CGI 程序是服务器端的一个可执行程序
最关键的是使用 C 语言,可以快速开发 CGI 程序,处理 Web 前端请求。 1.1.3 数据管理
Oracle 、 MySQL 、 SQLServer 、 SQLite
通过数据库服务器,实现数据的存和取。
1.2 嵌入式 web 开发模型
1.3 Web 原理
1.4 boa 服务器搭建
Boa 是一个轻量级、快速响应、简单配置的 HTTP 服务器,适用于嵌入式系统和资源有限的环
境。 1.4.1 boa 概述
Boa 是一个轻量级的 HTTP 服务器,适用于嵌入式系统和资源有限的环境。
特点:
1. 轻量级: Boa 是一个非常轻量级的 HTTP 服务器,具有小巧、高效的特点。它的设计目标是在资源
受限的环境中运行,例如嵌入式系统或路由器等。
2. 快速响应: Boa 通过使用事件驱动的方式,能够快速响应客户端的请求。它使用非阻塞 I/O 和异步
处理来提高性能和并发处理能力。
3. 配置简单: Boa 的配置相对简单,可以通过简单的配置文件进行设置。你可以指定监听的端口、根
目录、默认文档等。
4. 支持静态和动态内容: Boa 支持提供静态内容(如 HTML 、 CSS 、图像等)以及动态内容(如 CGI
程序或服务器端脚本)。
5. CGI 支持: Boa 可以通过 CGI (通用网关接口)来运行动态内容。它可以与 CGI 程序进行交互,并
将请求转发给 CGI 程序进行处理。
6. 安全性: Boa 提供了一些安全特性,如基本的身份验证和 SSL/TLS 支持,以确保通信的安全性。
7. 可移植性: Boa 是一个跨平台的 HTTP 服务器,可以在多个操作系统上运行,包括 Linux 、 Unix 、
Windows 等。
1.4.2 安装 boa
Ubuntu 下安装 boa 服务器。
解压:
安装额外的依赖 : bison 和 flex
切换目录:
修改 defines.h 文件 : 30 行
执行如下命令:
./configure
make
出现此错时,修改 compat.h 文件的 120 行内容,如下:
将宏中的 ## 去掉。
另外, 修改 boa.c 文件的 226 行代码注释一下:
修改后,先执行: make clean , 再执行 make
当前目录出现 boa 文件即编译成功。
1.4.3 创建 boa 服务器目录结构
#define TIMEZONE_OFFSET(foo) foo->tm_gmtoff
mkdir /home/disen/boa/boa -p
mkdir /home/disen/boa/www
mkdir /home/disen/boa/www/cgi-bin
将编译好的 boa 、 boa_indexer 程序和 boa.conf ,放在 /home/disen/boa/boa 目录下
cp boa boa_indexer ~/boa/boa
cp ../boa.conf ~/boa/boa
sudo cp /etc/mime.types ~/boa/boa
1.4.3 配置 boa 服务
配置文件 vi ~/boa/boa/boa.conf 文件
1.4.3.1 修改用户和组
修改 48 和 49 行:
User 0
Group 0
1.4.3.2 修改日志的位置
修改 62 行: ErrorLog
修改 74 行: AccessLog
ErrorLog /home/disen/boa/boa/error_log
AccessLog /home/disen/boa/boa/access_log
error_log 和 access_log 需要自已手动创建:
1.4.3.3 boa_indexer 位置
修改 130 行:
DirectoryMaker /home/disen/boa/boa/boa_indexer
1.4.3.4 MimeTypes 位置
修改 155 行:
MimeTypes /home/disen/boa/boa/mime.types
1.4.3.5 www 位置
修改 111 行:
DocumentRoot /home/disen/boa/www
1.4.3.6 修改 cgi-bin 的位置
修改最后一行:
ScriptAlias /cgi-bin/ /home/disen/boa/www/cgi-bin/
1.4.4 启动与访问服务
boa 启动服务
sudo ~/boa/boa/boa
检查服务是否启动:
ps -ef|grep boa
或者查看 80 端口占用情况:
netstat -lntp
可以在 www 目录下开发 HTML 网页,并在浏览器访问
boa 默认的 Web 服务端口为 80 。可以修改 boa 配置文件,修改此端口,如 8080 。
vi ~/boa/www/index.html
<h1> test boa web server </h1>
在浏览器访问:
如果修改了端口号为 8080 ,则地址栏中输入: http://192.168.3.10:8080