嵌入式Web服务器
Boa:
编译
修改Makefile里的CC等
cp mime.types到/etc
boa.conf到/etc/boa/boa.conf
下载源码:
安装额外的编译工具:apt-get install flex byacc
生成Makefile: ./configure –host=arm-linux
修改Makefile的编译链:CC和CPP
util.c: In function 'get_commonlog_time':
util.c:100:1: error: pasting "t" and "->" does not give a valid preprocessing token
make: *** [util.o] Error 1
解决方法:
修改compat.h文件
将下面一行(大概是120行)
#define TIMEZONE_OFFSET(foo) foo##->tm_gmtoff
改为:
#define TIMEZONE_OFFSET(foo) (foo)->tm_gmtoff
配置
修改boa.conf,创建配置,log,www,cgi等目录(依照boa.conf)
User nobody 改为 User root
Group nogroup 改为 Group rootAccessLog /var/log/boa/access_log 改为 AccessLog /dev/null
#ServerName www.your.org.here 改为 ServerNamewww.your.org.hereDocumentRoot /var/www 改为 DocumentRoot /usr/local/boa/www
MimeTypes /etc/mime.types MimeTypes /usr/local/boa/mime.types
boa+CCGI上传文件大小限制两种方法:
- 修改源代码的defines.h里面的宏SINGLE_POST_LIMIT_DEFAULT
- 修改boa.conf里面的SinglePostLimit
lighttpd
编译
make.sh:
#!/bin/bash
BASEDIR=`pwd`
export ARCH=arm
export PATH=/xxx/out/bin:$PATH
#arm-buildroot-linux-uclibcgnueabi-
CC=arm-buildroot-linux-uclibcgnueabi-gcc
CXX=arm-buildroot-linux-uclibcgnueabi-g++
AR=arm-buildroot-linux-uclibcgnueabi-ar
LD=arm-buildroot-linux-uclibcgnueabi-ld
RANLIB=arm-buildroot-linux-uclibcgnueabi-ranlib
STRIP=arm-buildroot-linux-uclibcgnueabi-strip
echo $CC
'
cd $BASEDIR/pcre-8.42
make clean
./configure --host=arm-buildroot-linux-uclibcgnueabi --prefix=/xxx/out --enable-utf8 --enable-unicode-properties
make && make install
'
cd $BASEDIR/lighttpd-1.4.53
make clean
./configure --prefix=/xxx/out --host=arm-buildroot-linux-uclibcgnueabi --build=i686-pc-linux --disable-FEATURE --enable-shared --disable-static --disable-lfs --disable-ipv6 --without-PACKAGE --without-valgrind --without-openssl --without-kerberos5 --with-pcre --without-zlib --without-bzip2 --without-lua
make && make install
lighttpd+PHP安装配置:(mysql)
配置lighttpd.conf
:
在server.modules += ( "mod_fastcgi" )
下面添加如下:
fastcgi.server = (
".php" =>
(
(
"socket" => "/tmp/php.socket",
"bin-path" => "/usr/bin/php-cgi",
"max-procs" => 2,
"check-local" => "disable"
))
)
lighttpd+PHP上传文件大小限制
关于php.ini:
查找源码,php.ini-development类似的文件即为php.ini的原始文件
查看php相关配置信息,配置文件的路径等
- 创建test.php,浏览器查看就可看到php.ini文件默认路径
<?php
phpinfo();
?>
- 使用php-cgi -i或者php-fpm -i命令
将php.ini放在配置文件目录,修改
memory_limit = 64M
upload_max_filesize = 10M
post_max_size = 15M
最后实在不行,修改php源码main.c中对应的参数
错误:mysql_server_init, version libmysqlclient_16 not defined in file libmysqlclient.so.18:
https://community.nxp.com/thread/449922:diff --git a/meta/recipes-devtools/binutils/binutils-2.26.inc b/meta/recipes-devtools/binutils/binutils-2.26.inc
index 703eac2..06ce245 100644
--- a/meta/recipes-devtools/binutils/binutils-2.26.inc
+++ b/meta/recipes-devtools/binutils/binutils-2.26.inc
@@ -18,7 +18,7 @@ BINUPV = "${@binutils_branch_version(d)}"
UPSTREAM_CHECK_GITTAGREGEX = "binutils-(?P<pver>\d+_(\d_?)*)"
-SRCREV = "71fa566a9cf2597b60a58c1d7c148bab637454a6"
+SRCREV = "544ddf9322b1b83982e5cb84a54d084ee7e718ea"
SRC_URI = "\