嵌入式服务器appweb交叉编译指南
2014-01-22 21:07
204 查看
appweb+matrixssl+php+sqlite是一款十分流行及轻量,十分适合嵌入式平台的web服务器实现方案,网上关于搭建这个平台的资料大多基于appweb2.4及更早,这里给出的思路为叙述appweb4.5 及 matrixssl 3.4.2 的交叉编译及下载目标板的思路及展示了实现的效果。至于php和sqlite的移植,比较简单没有说明。下面是叙述。
注:本文适合有一定嵌入式开发经验及web服务器基础的技术人员阅读,若没有基础请先看文末的参考文献或查询相关资料。
主要思路分为以下几大步。
#下载 appweb matrix bit 源代码。
.#编译bit
#使用bit编译appweb
#修改bit生成配置
#编译成功
#下载目标板测试
在配置appweb时的配置是:
./configure --enable-log --enable-multi-thread --enable-upload --enable-auth --enable-auth-file --enable-auto-compile --with-matrixssl=/mnt/hgfs/ResourceZoom/CentosShare/EmbeddedWebservice/matrixssl-3-4-2-open
注意matrix中需要删除
CCARCH后面相关的平台的宏定义。否则编译时报错。
在修改bit的生成配置时需要注意以下:
上面的脚本是改变终端的默认编译器。不能直接使用,需要将所有改变的编译器及连接器改写到configure完成的bit配置文件中。
![](https://img-blog.csdn.net/20140122100913796?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvZ3ViZW5wZWl5dWFu/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
下载到目标板测试:
普通服务器的运行串口终端效果:
![](https://img-blog.csdn.net/20140122205038359?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvZ3ViZW5wZWl5dWFu/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
看见了吗?有一个error,是因为 读写权限的问题,应该写为755,而不是777.
带有ssl服务器的运行状态截图:
![](https://img-blog.csdn.net/20140122205215578?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvZ3ViZW5wZWl5dWFu/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
很奇怪的是ssl的服务器访问时有些问题,报错cannot upgrade socket,我怀疑是openssl的证书的原理是通过ssl他自己的算法认证服务器本地,而这里交叉编译时,是在宿主机上进行的,这个答案只有在交叉编译openssl后在目标机生成证书才可以给出答案了。呵呵,有兴趣额读者可以自己证实下哦。可以发email给我。leoluopy@gmail.com
参考文章:
http://blog.csdn.net/lqrensn/article/details/9124037
http://bbs.chinaunix.net/thread-2082286-1-1.html
http://www.doc88.com/p-994345534512.html
http://wenku.baidu.com/link?url=9Kd1olO4knNW_EMhxvoD5g8mKTMPJk2tIxnf2HY-eIvzEl_LurPzE7DbkYDI3ixh3ivkTWV02dlUbOvZe9hQc-ypB8HUW8CY-lgBsXAkzuO
http://lovesea.blog.51cto.com/382446/95572/
http://blog.csdn.net/lqrensn/article/details/8132275
http://blog.csdn.net/lqrensn/article/details/9112321
http://blog.chinaunix.net/uid-184310-id-2829293.html
注:本文适合有一定嵌入式开发经验及web服务器基础的技术人员阅读,若没有基础请先看文末的参考文献或查询相关资料。
主要思路分为以下几大步。
#下载 appweb matrix bit 源代码。
.#编译bit
#使用bit编译appweb
#修改bit生成配置
#编译成功
#下载目标板测试
在配置appweb时的配置是:
./configure --enable-log --enable-multi-thread --enable-upload --enable-auth --enable-auth-file --enable-auto-compile --with-matrixssl=/mnt/hgfs/ResourceZoom/CentosShare/EmbeddedWebservice/matrixssl-3-4-2-open
注意matrix中需要删除
CCARCH后面相关的平台的宏定义。否则编译时报错。
在修改bit的生成配置时需要注意以下:
#!/bin/bash export CC="arm-linux-gcc" export AR="arm-linux-ar" export LD="arm-linux-ld" export RANLIB="arm-linux-ranlib" export STRIP="arm-linux-strip" export CC_FOR_BUILD="gcc" echo "@ done!"
上面的脚本是改变终端的默认编译器。不能直接使用,需要将所有改变的编译器及连接器改写到configure完成的bit配置文件中。
下载到目标板测试:
普通服务器的运行串口终端效果:
看见了吗?有一个error,是因为 读写权限的问题,应该写为755,而不是777.
带有ssl服务器的运行状态截图:
很奇怪的是ssl的服务器访问时有些问题,报错cannot upgrade socket,我怀疑是openssl的证书的原理是通过ssl他自己的算法认证服务器本地,而这里交叉编译时,是在宿主机上进行的,这个答案只有在交叉编译openssl后在目标机生成证书才可以给出答案了。呵呵,有兴趣额读者可以自己证实下哦。可以发email给我。leoluopy@gmail.com
参考文章:
http://blog.csdn.net/lqrensn/article/details/9124037
http://bbs.chinaunix.net/thread-2082286-1-1.html
http://www.doc88.com/p-994345534512.html
http://wenku.baidu.com/link?url=9Kd1olO4knNW_EMhxvoD5g8mKTMPJk2tIxnf2HY-eIvzEl_LurPzE7DbkYDI3ixh3ivkTWV02dlUbOvZe9hQc-ypB8HUW8CY-lgBsXAkzuO
http://lovesea.blog.51cto.com/382446/95572/
http://blog.csdn.net/lqrensn/article/details/8132275
http://blog.csdn.net/lqrensn/article/details/9112321
http://blog.chinaunix.net/uid-184310-id-2829293.html
相关文章推荐
- 嵌入式web服务器lighttpd的交叉编译及配置--xilinx zynq
- 嵌入式web服务器lighttpd的交叉编译及配置(for arm-linux)
- 嵌入式web服务器boa的编译移植
- 用ptxdist2013构建嵌入式交叉编译工具链
- 如何为嵌入式开发建立交叉编译环境
- 【ARM】嵌入式 ARM Linux 下移植 USB 蓝牙、交叉编译 bluez 各种版本
- 嵌入式 Ubuntu12.04下进行交叉编译vlc_win32
- 嵌入式linux系统网络超级服务器构建指南(for arm)
- [嵌入式】如何为嵌入式开发建立交叉编译环境
- qtopia-2.2.0的交叉编译以及移植Ⅱ(在Fedora下构建嵌入式QT环境)
- 【嵌入式开发技术之Qtopia】安装和交叉编译文档(3)——交叉编译Qt各种版本
- 嵌入式linux的交叉编译环境配置
- 如何为嵌入式开发建立交叉编译环境
- 第二课 创建嵌入式Linux开发环境之交叉编译环境
- appweb学习记录---交叉编译
- 如何为嵌入式开发建立交叉编译环境
- Qt arm嵌入式交叉编译环境搭建
- 嵌入式Linux ALSA工具交叉编译问题解决
- 嵌入式设备开发测试过程中与Linux开发编译服务器的双向文件传输
- SQLite3数据库在嵌入式应用之一: 在嵌入式linux OS下的交叉编译