嵌入式web server——Goahead移植摘要

前言

在嵌入式设备中,在没有液晶显示的情况下,可以使用web来访问设备,查看设备的运行状态以及进行参数设置,类似于路由器设置。网上有很多关于各种web server的优劣的评论,在此不讨论,只是介绍其中的Goahead在linux下移植的一些要点。

移植环境

arm + linux 2.6,交叉编译器arm-uclibc-gcc

移植要点

1、把src目录下的certs、utils、goahead-openssl目录都删除掉。

2、把osdep里面的osdep.h移到外层src去。

3、把goahead-linux-default-me.h拷到src目录,改名为me.h。

4、配置me.h,在开头添加两行,表示运行的环境。

#define __arm__       1
#define __linux__     1

5、不需要SSL,把me.h中两个宏都置为0。

#define ME_COM_OPENSSL 0
#define ME_COM_SSL 0

6、需要打印更多运行信息,把me.h中把宏ME_GOAHEAD_LOGFILE由stderr:0改为stderr:2。

#define ME_GOAHEAD_LOGFILE "stderr:0"
#define ME_GOAHEAD_LOGFILE "stderr:2"

7、setLocalHost中调用gethostbyname可能是失败的,导致运行不起来,直接不调用了。

8、route.txt需要改一下,把route uri=/cgi-bin handler=cgi 改为route uri=/cgi-bin dir=./web handler=cgi,表示cgi-bin目录在web目录下。

9、cgiHandler中要注释掉chdir(dir);,要不找不到cgi-bin下的程序,这样查找cgi程序时使用相对路径。

10、编写makefile,编译出来可执行文件goahead。

CC=arm-uclibc-gcc

#CC=gcc

#-Werror

FLAGS = -Wall -fPIC -g -O2 -s -ldl -lm -o

SOURCE_FILE = *.c

goahead: $(SOURCE_FILE)

         $(CC) $(FLAGS)  [email protected]  $(SOURCE_FILE)

clean:

         rm -rf goahead

.PHONY: clean

11、布署,创建目录/mnt/goahead,把编译出来的可执行程序goahead放在此目录下,goahead目录下再创建web目录,此目录存放一些网页相关的内容(如index.html,css,image等),在web目录下再创建cgi-bin目录,用于存放cgi程序。

12、./goahead执行可看到如下信息表示运行成功

goahead: 1: This system does not have IPv6 support

goahead: 2: Configuration for Embedthis GoAhead

goahead: 2: ---------------------------------------------

goahead: 2: Version:            3.4.9

goahead: 2: BuildType:          Debug

goahead: 2: CPU:                arm

goahead: 2: OS:                 linux

goahead: 2: Host:               0.0.0.0

goahead: 2: Directory:          /mnt/kas/program

goahead: 2: Documents:          web

goahead: 2: Configure:          me -d -q -platform linux-x86-default -configure . -with openssl -gen make

goahead: 2: ---------------------------------------------

goahead: 2: Started http://*:80

goahead: 2:

^^^^^^^^^^^ web start successful ^^^^^^^^^^^

13、在浏览器中输入ip即可看到,请求goahead的cgitest程序时,可见服务器的打印信息goahead: 2: GET /cgi-bin/cgitest HTTP/1.1,浏览器上显示的页面如下图所示。

时间: 2024-08-03 06:09:56

嵌入式web server——Goahead移植摘要的相关文章

基于ARM和Linux的嵌入式Web Server设计与实现_爱学术——免费下载

[摘要]介绍了嵌入式ARM处理器的特点和硬件平台的设计.嵌入式操作系统的设计,构建了基于嵌入式Web Server的远程监测系统结构,重点分析了嵌入式TCP/IP协议栈的体系结构.嵌入式Web服务器BOA中一些重要文件的配置.实现动态Web服务的CGI技术及动态WEB服务器的移植,实现了基于B/S结构的嵌入式动态Web远程监测系统. [作者] 彭道刚  张浩  江剑宁  许龙虎 转载至爱学术:https://www.ixueshu.com/document/f838a30d77441936318

构建嵌入式Web(goahead+sqlite3+matrixssl)服务器之一:移植sqlite

网上关于嵌入式goahead移植的资料有很多,大部分都是v2.5版本的,或者v3.1,其与最新的v3.5版本的有很大差异.关于v3.5的资料很少,走了不少弯路,在此一一记录. 第一部分:移植sqlite sqlite的移植比较简单,不用修改源代码文件,直接配置编译即可. sqlite版本为3.9.2 编译过程1.下载 sqlite源代码 sqlite-autoconf-3090200.tar.gz http://www.sqlite.org/download.html 2.编译脚本文件 1 #!

深入理解Web Server原理----在CC3200 WiFi模块上构建轻量级Web Server

作为博客园的处女作,本文将引导大家理解Web Server的原理. Table of contents 常见Web Server及其功能 低功耗WiFi 嵌入式Web Server的应用 Energia Project无缝支持Arduino框架在TI LaunchPad上的扩展 基于CC3200如何构建一个嵌入式Web Server 做过Web开发的同学都知道,Web Server是用来处理http(POST.GET.PUT.DELETE等)请求的系统,有大名鼎鼎的Apache http Ser

GoAhead 嵌入式web

https://embedthis.com/goahead/ 入手了一个360  4g  wifi :使用jquery  .goahead Goahead webserver编辑 GoAhead WebServer,它是一个源码,免费.功能强大.可以在多个平台运行的嵌入式 WebServer. GoAhead WebServer的主要特性有: 1. 支持ASP 2. 嵌入式的javascript 3. 标准的CGI执行 4. 内存中的CGI处理GoFroms 5. 扩展的API 6. 快速响应,

三种嵌入式web服务器(Boa / lighttpd / shttpd)的 linux移植笔记

一:移植Boa(web服务器)到嵌入式Linux系统 一.Boa程序的移植 1.下载Boa源码    下载地址: http://www.boa.org/    目前最新发行版本: 0.94.13   (几年没更新版本了)    下载 boa-0.94.13.tar.gz, 注意:若从boa上下载的是boa-0.94.13.tar.tar,解压方式一样    解压: 2.生成Makefile文件   进入boa-0.94.13,直接运行src/configure文件 [[email protect

嵌入式开发之web服务器---boa移植

近段时间在做ti8148的编解码器又涉及到boa web服务器的移植.在移植到ARM开发板的过程中,遇到很多的问题.原先的自带thttpd 由于功能没有boa完善,比如在ubuntu下面的utf-8编码的网页在thttpd中给客户浏览器显示的是默认ios欧洲乱码,但是boa显示正常,就干掉了 现将移植步骤整理如下:(其中涉及到个人习惯和路径问题,视各自情况而定) 1.下载源码: 下载网址http://www.boa.org/boa-0.94.13.tar.gz,但实际上下载的包为boa-0.94

嵌入式web服务器

现在在嵌入式设备中所使用的web服务器主要有:boa.thttpd.mini_httpd.shttpd.lighttpd.goaheand.appweb和apache等. Boa 1.介绍 Boa诞生于1991年,作者Paul Philips.是开源的,应用很广泛,特别适合于嵌入式设备,网上流行程度很广.它的官方网站说boa是最受人喜爱的嵌入式web服务器.功能较为强大,支持认证,cgi等.Boa 是一个单任务的HTTP SERVER,它不像传统的web服务器那样为每个访问连接开启一个进程,也不

嵌入式web服务

:boa.thttpd.mini_httpd.shttpd.lighttpd.goaheand.appweb和apache等. Boa 1.介绍 Boa诞生于1991年,作者Paul Philips.是开源的,应用很广泛,特别适合于嵌入式设备,网上流行程度很广.它的官方网站说boa是最受人喜爱的嵌入式web服务器.功能较为强大,支持认证,cgi等.Boa 是一个单任务的HTTP SERVER,它不像传统的web服务器那样为每个访问连接开启一个进程,也不会为多个连接开启多个自身的拷贝.Boa对所有

【转】推荐介绍几款小巧的Web Server程序

原博地址:http://blog.csdn.net/heiyeshuwu/article/details/1753900 偶然看到几个小巧有趣的Web Server程序,觉得有必要拿来分享一下,让大家除了知道Apache.IIS之外,原来还有更多有趣的选择.主要介绍了:micro_httpd.mini_httpd.thttpd.lighttpd.shttpd 等无款小巧好用的httpd. [ micro_httpd - really small HTTP server] 特点:* 支持安全的 .