嵌入式linux开发,web服务,lighttpd移植

一、下载。

下载:http://www.lighttpd.net/http://www.lighttpd.net/download/

下载版本:lighttpd-1.4.59。

中文介绍:https://archlinux.org/https://wiki.archlinux.org/title/Lighttpd_(%E7%AE%80%E4%BD%93%E4%B8%AD%E6%96%87)

二、配置。

1、使用cmake配置及报错如下。

cmake -DCMAKE_TOOLCHAIN_FILE=./toolchain.cmake ../../
CMake Error at src/CMakeLists.txt:500 (message):
  pcre.h couldn't be found

2、更换configure配置及报错如下。

./configure --prefix=$(pwd)/buildout/arm-2014.05 --host=arm-none-linux-gnueabi
configure: error: pcre-config not found, install the pcre-devel package or build with --without-pcre

        PCRE(Perl Compatible Regular Expressions)是一个Perl库,包括 perl 兼容的正则表达式库。这些在执行正规表达式模式匹配时用与Perl 5同样的语法和语义是很有用的。Boost太庞大了,使用boost regex后,程序的编译速度明显变慢。测试了一下,同样一个程序,使用boost::regex编译时需要3秒,而使用pcre不到1秒。因此改用pcre来解决C语言中使用正则表达式的问题。

3、不编译pcre,进行配置及报错如下。

./configure --prefix=$(pwd)/buildout/arm-2014.05 --host=arm-none-linux-gnueabi with --without-pcre
configure: error: zlib headers not found, install them or build without --with-zlib

           zlib是提供数据压缩用的函式库,由Jean-loup Gailly与Mark Adler所开发。

4、不编译zlib,进行配置如下,配置通过。

./configure --prefix=$(pwd)/buildout/arm-2014.05 --host=arm-none-linux-gnueabi --without-pcre --without-zlib

 5、使用cmake进行配置。

cmake -DCMAKE_TOOLCHAIN_FILE=./toolchain.cmake -DWITH_PCRE=NO -DWITH_ZLIB=NO ../../

6、网上也有去掉以下三个选项的。 

--disable-FEUTARE --disable-ipv6 --disable-lfs --without-bzip2
./configure --prefix=$(pwd)/buildout/arm-2014.05 --host=arm-none-linux-gnueabi --without-pcre --without-zlib --disable-FEUTARE --disable-ipv6 --disable-lfs --without-bzip2

三、交叉编译与安装。

1、编译及报错。

make -j4

 使用cmake配置编译报如下 错误:

/bin/sh: 1: ./lemon: Exec format error
build/CMakeFiles/mod_ssi.dir/build.make:63: recipe for target 'build/mod_ssi_exprparser.c' failed
make[2]: *** [build/mod_ssi_exprparser.c] Error 2
CMakeFiles/Makefile2:2444: recipe for target 'build/CMakeFiles/mod_ssi.dir/all' failed
make[1]: *** [build/CMakeFiles/mod_ssi.dir/all] Error 2
make[1]: *** Waiting for unfinished jobs....
[ 62%] Built target mod_sockproxy
[ 63%] Built target mod_extforward
[ 64%] Built target mod_staticfile
Makefile:140: recipe for target 'all' failed
make: *** [all] Error 2
ms@ubuntu:~/work/code/web/lighttpd/lighttpd-1.4.59/buildout/arm-2014.05$

使用configure配置编译并安装。

make install

四、移植。

1、拷贝lib/和sbin/至arm板(/usr/local/lighttpd)。

2、拷贝./doc/config文件夹下的相关配置文件至/usr/local/lighttpd下。

3、创建www或webpages文件夹用于存放网页文件。

4、开机启动。

cd /usr/local/lighttpd/sbin
./lighttpd -f ../config/lighttpd.conf

Guess you like

Origin blog.csdn.net/weixin_43782998/article/details/119457150