嵌入式Web项目(一)——Web服务器的引入

文章目录

  • 网络模型
  • TCP服务器的概念
  • Wed服务器的概念
  • netstate 工具
  • 嵌入式系统,常用开源Web服务器
  • 移植BOA到Ubuntu
    • 下载BOA源码
    • 传输到虚拟机进行解压
    • 编译BOA
    • 修改BOA配置文件
  • 测试BOA
    • 启动boa
    • 创建一个HTML文件并放入到www目录下
    • 浏览器访问


网络模型

在实际开发中,往往是基于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源码

进入官网
官网
嵌入式Web项目(一)——Web服务器的引入_第1张图片下载
嵌入式Web项目(一)——Web服务器的引入_第2张图片

传输到虚拟机进行解压

创建目录用于存放boa
嵌入式Web项目(一)——Web服务器的引入_第3张图片
解压
嵌入式Web项目(一)——Web服务器的引入_第4张图片

编译BOA

使用配置脚本获取与体系结构相关的Makefile
嵌入式Web项目(一)——Web服务器的引入_第5张图片
嵌入式Web项目(一)——Web服务器的引入_第6张图片
修改Makefile,去掉调试选项
嵌入式Web项目(一)——Web服务器的引入_第7张图片
执行Makefile
嵌入式Web项目(一)——Web服务器的引入_第8张图片
出现错误,该错误出现在compat.文件,120行。我们去进行修改

嵌入式Web项目(一)——Web服务器的引入_第9张图片修改为
嵌入式Web项目(一)——Web服务器的引入_第10张图片先make clean一下,把之前生成的目标文件删了

make
在这里插入图片描述
strip剔除符号表
因为我们要移植到嵌入式系统中,希望尽可能地减少占用存储空间
嵌入式Web项目(一)——Web服务器的引入_第11张图片

修改BOA配置文件

配置文件的目的就是告诉BOA如何去工作

备份一份配置文件,防止修改错误无法还原
在这里插入图片描述
将配置文件传到/etc目录下
在这里插入图片描述修改配置文件
嵌入式Web项目(一)——Web服务器的引入_第12张图片注意区分 8080端口号,8080是网页浏览的端口号,80是HTTP协议默认的端口号。

嵌入式Web项目(一)——Web服务器的引入_第13张图片在这里插入图片描述修改日志
嵌入式Web项目(一)——Web服务器的引入_第14张图片
嵌入式Web项目(一)——Web服务器的引入_第15张图片修改网页访问路径
嵌入式Web项目(一)——Web服务器的引入_第16张图片在这里插入图片描述
cgic 动态网页的路径修改留在后面更新

测试BOA

启动boa

创建访问目录和日志目录
在这里插入图片描述

启动boa服务器程序
嵌入式Web项目(一)——Web服务器的引入_第17张图片

创建一个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目录下
在这里插入图片描述

浏览器访问

嵌入式Web项目(一)——Web服务器的引入_第18张图片

你可能感兴趣的:(嵌入式Web开发,嵌入式,Web开发,服务器)