您的位置:首页 > 理论基础 > 计算机网络

porting mini_httpd for arm

2015-06-12 22:17 309 查看
随着物联网技术的发展,在一些嵌入式设备管理的与交互中需要通过web服务来访问和控制一些设备,这就需要我们的嵌入式设备能够支持这个功能(嵌入式web服务),即是在嵌入式的设备中运行一个支持脚本或CGI功能的web服务器。常见的嵌入式web服务器有下面的几个:

minihttpd ,lighttpd , shttpd ,thttpd ,boa ,appweb , goahead 等。

我这里就选择使用了mini_httpd,这个功能相对于其他的来说有弱一点,但是可以满足我的需要了。具体的功程如下:

1下载mini_httpd网站:http://www.acme.com/software/mini_httpd/

# wget
http://www.acme.com/software/mini_httpd/mini_httpd-1.21.tar.gz

2编译

解压:

# tar –zxvf mini_httpd-1.21.tar.gz

修改Makefie,把编译器换成交叉编译器为arm

主要修改了下面的部分:

#BINDIR = /usr/local/sbin

BINDIR = /home/chengfei/develop/atmel/sm/web/sbin/

#MANDIR = /usr/local/man

MANDIR = /home/chengfei/develop/atmel/sm/web/man/

#CC = cc

CC = /usr/local/arm/arm-2007q1/bin/arm-none-linux-gnueabi-gcc

编译:

# make

# make install

经过上面这些操作,最后把mini_httpd文件安装到上面设置的目录sbin下。

把sbin目录下的所有文件拷贝到arm开发板的文件系统下的sbin目录下。

3配置文件

创建一个mini_httpd.conf的文件,并加上下面的这些内容:

nochroot

dir=/mini_httpd/wwwroot

cgipat=**.cgi

user=root

pidfile=/mini_httpd/mini_httpd.pid

logfile=/mini_httpd/mini_httpd.log

charset=UTF-8



上面的目录mini_httpd是在根文件系统中没有的,需要再到文件系统下创建mini_httpd这个目录。不过也可以在***好文件系统后,待arm开发板启动后再创建也是可以的。

现在我就在待***的文件系统中创建了上面所需要的目录。

4测试:

创建test.c文件

内容如下:

#include <stdio.h>

#include <unistd.h>



void main()

{

printf("Content-type: text/html;charset=gb2312\n\n");

printf("\n");

printf("<html><head><title>CGI TEST</title></head>");

printf("<body>");

printf("<h1>CGI TEST</h1>");

printf("<h2>chengfei</h2>");

printf("Hello Web!\n");

printf("</body></html>");

}

编译测试文件:

# arm-none-linux-gnueabi-gcc –o test.cgi test.c

5重新***文件系统

***文件系统

把测试使用的程序加入到文件系统中,并重新***文件系统。也有其他不用重新***文件系统的方法.

烧写文件系统到板子

6测试:

查看mini_httpd的版本

# mini_httpd
-V

启动mini_httpd

# mini_httpd –C /etc/mini_httpd.conf

运行后会出现下面的信息:这个后面再处理!

socket: Address family not supported by protocol

mini_httpd: started as root without requesting chroot(), warning only



7打开浏览器测试一下

192.168.0.126

可以看到下面的界面:





再输入:

192.168.0.126/test.cgi





到此mini_httpd的移植工作就完成了
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: