一、
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