一、下载。
下载: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