文章目录
网络模型
在实际开发中,往往是基于TCP/IP四层模型进行项目的开发。
TCP/IP四层模型 | 对应Wed项目的映射关系 |
---|---|
应用层 | 嵌入式Wed控制器 |
– | – |
传输层 | TCP UDP |
– | – |
网络层 | IP |
– | – |
网络接口层 | 网卡 |
Web服务指的就是:使用TCP协议进行传输的网页服务
TCP服务器的概念
TCP服务器:是一个应用服务器,只要他的底层(传输层)的协议,如果使用了TCP,那么这样的应用程序称之为TCP服务器
Wed服务器的概念
Web服务器本身就是一个TCP服务器,由于应用层在数据格处理上,采用了HTTP的协议标准,这样的TCP服务器,称之为Web服务器。这个服务器可以为用户浏览器提供合法的数据
netstate 工具
从操作系统角度来分析,TCP/IP四层模型中,应用层处于在用户态,传输层以下就处于内核态了
。因此用户往往是不能够直接访问内核空间的,但是我们又有查看当前网络信息的需求,因此Linux内核就提供一个这样的工具netstat
参数
| 选项| 含义 |
-t | 表示TCP相关 |
---|---|
-u | 表示UDP相关 |
– | – |
-a | 表示所有的信息 |
– | – |
-n | 表示将端口以数字的方式显示 |
嵌入式系统,常用开源Web服务器
服务器 | 性能 |
---|---|
BOA | 功能交单,代码量少,适合学习 |
– | – |
appweb | 功能强大、代码量大、工程使用 |
移植BOA到Ubuntu
下载BOA源码
进入官网
官网
下载
传输到虚拟机进行解压
创建目录用于存放boa
解压
编译BOA
使用配置脚本获取与体系结构相关的Makefile
修改Makefile,去掉调试选项
执行Makefile
出现错误,该错误出现在compat.文件,120行。我们去进行修改
修改为
先make clean一下,把之前生成的目标文件删了
make
strip剔除符号表
因为我们要移植到嵌入式系统中,希望尽可能地减少占用存储空间
修改BOA配置文件
配置文件的目的就是告诉BOA如何去工作
备份一份配置文件,防止修改错误无法还原
将配置文件传到/etc目录下
修改配置文件
注意区分 8080端口号,8080是网页浏览的端口号,80是HTTP协议默认的端口号。
修改日志
修改网页访问路径
cgic 动态网页的路径修改留在后面更新
测试BOA
启动boa
创建访问目录和日志目录
启动boa服务器程序
创建一个HTML文件并放入到www目录下
测试代码
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>第一次测试</title>
</head>
<body>
<div class="jumbotron">
<div class="container">
<h1>Hello, world!</h1>
<p>不是你觉到,悟到并做到的都不是你的</p>
<p><a class="btn btn-primary btn-lg" href="#" role="button">别点我</a></p>
</div>
</div>
</body>
</html>
放入www目录下