一、appweb简介:
Appweb是一个标准的嵌入式HTTP Web服务器,主要的设计思路是安全。这是直接集成到客户的应用和设备,便于开发和部署基于Web的应用程序和设备。它正迅速( 3500多要求每秒)和紧凑(从11万) ,其中包括支持动态网页制作,服务器端嵌入式脚本过程中的CGI ,可加载模块,的SSL ,摘要式身份验证,虚拟主机, Apache样式配置,日志记录,单和多线程应用程序。它提供了大量的文档和示例。
二、功能:
1、支持嵌入式JavaScript,esp,egi,cgi和php。
2、全支持HTTP/1.1的Web服务器
3、多线程,事件驱动的核心:在同类产品中最快的性能
4、动态可加载模块
5、服务器端JavaScript的Web框架
6、在内存中的PHP模块
7、CGI进程以及传统的CGI
8、与Apache兼容的配置和日志记录
9、基本和摘要式身份验证
10、安全套接字层(SSL/ TLS)
11、会话状态数据管理
12、HTTP客户端程序和库
13、ROM化(ROMable)网页文件和配置文件
14、跨平台和便携式
15、嵌入在应用程序和设备(支持XIP)
16、模块化提供的源代码和文档
三、移植方法:
1、解压:tar -xvzf appweb-3.3.4-0-src.tgz;
2、cd appweb-3.3.4;主要是对configure的配置;
3、参数众多,建立conf.sh shell脚本来实现:
#!/bin/sh
#设在交叉编译环境#
export AR=arm-linux-ar
export CC=arm-linux-gcc
export LD=arm-linux-ld
export NM=arm-linux-nm
export RANLIB=arm-linux-ranlib
export STRIP=arm-linux-strip
#开始配置#
./configure --build=i686-pc-linux \ #宿主机平台
--host=arm-9260-linux \ #目标平台
--type=RELEASE \ #发布类型(debug和release两种)
--webdir=/var/www \ #网页文件存放目录
--enable-multi-thread \ #允许多线程
--disable-samples \
--disable-test \
--enable-auth \
--enable-upload \
--shared \ #动态编译
--enable-cgi \
--port=80 \ #监听端口,默认是7777
--enable-egi \
--enable-auto-compile \ #以下几个是ejs所需的参数
--enable-cross-compiler \
--enable-db \
--number=int
4、source conf.sh 这步完成之后会有一个配置列表出来,可以查看是否是我们需要的配置。
5、make
6、如果make成功,在bin、lib、modules下面会有相应的arm-9260-linux目录,里面存放的就是我们
所需要的东西。
7、将arm-9260-linux里面的东西拷贝到设备板上运行即可。
8../appweb --config appweb.conf (我将所有与appweb相关的文件放在一个目录下面的)
关于配置文件appweb.conf
拷贝appweb-3.3.4/src/server/template/standard/appweb.conf进行修改即可。
主要修改的地方:
0、include conf/log.conf //是指定appweb日志文件,更加实际情况修改ErrorLog的位置。
1、ServerRoot "/root/appweb/" //假如我的appweb文件放在了/root/appweb下面;
2、Listen 80 //默认是7777,如果不该访问的时候需要“ipaddress:7777”进行访问;
3、DocumentRoot "/var/www" //浏览器访问目录;
4、DirectoryIndex index.html //主页
5、LoadModulePath "/root/appweb/modules" //appweb加载模块存放位置,根据实际情况自己设定。
6、Group root //用户组
7、User root //用户
其他的保持不变即可。conf目录在src/server/template/standard/conf拷贝即可。
四、资源占用:
内存:
Mem: 12204K used, 49352K free, 0K shrd, 0K buff, 4952K cached
CPU: 0.5% usr 6.3% sys 0.0% nic 93.0% idle 0.0% io 0.0% irq 0.0% sirq
Load average: 0.21 0.13 0.08 1/37 9451
PID PPID USER STAT VSZ %VSZ CPU %CPU COMMAND
5949 1503 root R 3240 5.2 0 0.5 top
5941 1503 root S 4968 8.0 0 0.0 ./appweb --config appweb.conf
1043 1038 root S 4340 7.0 0 0.0 /opt/bin/snmpd -f -c /opt/snmpd.conf
1056 1 root S 3240 5.2 0 0.0 /usr/sbin/telnetd
开到10个网页连接:
Mem: 12292K used, 49264K free, 0K shrd, 0K buff, 4952K cached
CPU: 2.9% usr 7.1% sys 0.0% nic 89.8% idle 0.0% io 0.0% irq 0.0% sirq
Load average: 0.02 0.08 0.07 1/39 9868
PID PPID USER STAT VSZ %VSZ CPU %CPU COMMAND
9692 1503 root R 3240 5.2 0 0.5 top
5941 1503 root S 5100 8.2 0 0.0 ./appweb --config appweb.conf
1043 1038 root S 4340 7.0 0 0.0 /opt/bin/snmpd -f -c /opt/snmpd.conf
1056 1 root S 3240 5.2 0 0.0 /usr/sbin/telnetd
flash:
bin:
-rwxr-xr-x 1 root root 14779 Nov 28 2012 ajs
-rwxr-xr-x 1 root root 11233 Nov 28 2012 ajsc
-rwxr-xr-x 1 root root 66245 Nov 28 2012 ajsweb
-rwxr-xr-x 1 root root 14933 Nov 28 2012 angel
-rwxr-xr-x 1 root root 12872 Nov 28 2012 appweb
-rw-r--r-- 1 root root 5826 Jan 1 00:07 appweb.conf
-rwxr-xr-x 1 root root 209004 Nov 28 2012 cgiProgram
-rw-r--r-- 1 root root 2756 Jan 1 00:43 mime.types
conf:
-rw-r--r-- 1 root root 103 Nov 28 2012 doc.conf
drwxr-xr-x 2 root root 400 Jan 1 00:05 hosts
-rw-r--r-- 1 root root 1203 Jan 1 00:10 log.conf
drwxr-xr-x 2 root root 592 Jan 1 00:05 modules
-rw-r--r-- 1 root root 1874 Jun 8 2011 tune.conf
lib:
-rwxr-xr-x 1 root root 142816 Nov 28 2012 libac.so
-rwxr-xr-x 1 root root 303928 Nov 28 2012 libajs.so
-rwxr-xr-x 1 root root 112436 Nov 28 2012 libappweb.so
-rwxr-xr-x 1 root root 188944 Nov 28 2012 libmpr.so
-rwxr-xr-x 1 root root 95916 Nov 28 2012 libpcre.so
-rwxr-xr-x 1 root root 349844 Nov 28 2012 libsqlite3.so
modules:
-rw-r--r-- 1 root root 84182 Nov 28 2012 ajs.mod
-rw-r--r-- 1 root root 30326 Nov 28 2012 ajsweb.mod
-rwxr-xr-x 1 root root 10524 Nov 28 2012 mod_auth.so
-rwxr-xr-x 1 root root 15440 Nov 28 2012 mod_cgi.so
-rwxr-xr-x 1 root root 6340 Nov 28 2012 mod_chunk.so
-rwxr-xr-x 1 root root 12764 Nov 28 2012 mod_dir.so
-rwxr-xr-x 1 root root 4240 Nov 28 2012 mod_egi.so
-rwxr-xr-x 1 root root 19116 Nov 28 2012 mod_ejs.so
-rwxr-xr-x 1 root root 7716 Nov 28 2012 mod_file.so
-rwxr-xr-x 1 root root 6188 Nov 28 2012 mod_range.so
-rwxr-xr-x 1 root root 10496 Nov 28 2012 mod_upload.so
www:
-rw-r--r-- 1 root root 2978 Jan 1 00:12 index.ejs
-rw-r--r-- 1 root root 83 Jan 1 00:45 index.html
-rw-r--r-- 1 root root 1824 Jan 1 00:27 index.mod
共计:2.1M;