一、简介
linux + lighttpd + php + zeromq 这套环境非常适合基于嵌入式的web开发。如果你正在做嵌入式web开发,这套环境可以为您提供完美的解决方案。
功能介绍:
1. lighttpd:webserver;
2. php:使用php实现webui和部分业务功能;
3. zeromq:zmq作为个模块间异步消息交互组件;
软件架构大致如下:
系统模块 | 实现技术 | 消息通讯 |
WebUI | PHP | zeromq for php |
业务模块 | PHP+C/C++ | zeromq for c |
底层模块 | uboot+linux+driver | zeromq for c |
硬件 | 嵌入式设备 |
二、环境搭建
1. 安装libiconv(这是一个依赖库,如果系统中有了就不需要装)
#tar -zxvf libiconv-1.14.tar.gz
#cd libiconv-1.14
# ./configure --prefix=/usr/local/libiconv
# make
# make install
2. 安装libzmq、libczmq库
2.1. 安装工具(如果你的系统已经安装了下面的工具,且版本比较新则可以跳过此步骤)
m4-latest.tar.gz
autoconf-2.69.tar.gz
automake-1.9.6.tar.gz
libtool-1.5.22.tar.gz
工具安装流程:
1) 将上面工具拷贝到/usr/bin,
2) 解压(tar zxvf xxx.tar.gz)
3) 依次到解压的目录,执行:
# ./configure
#make
#make install
2.2. 安装libzmq库libzmq-master.zip,安装流程:
1) 到代码根目录执行:autogen.sh
生成configure文件;
2) 执行:
#./configure
#make
#make install
2.3. 安装czmq-1.4.1.tar.gz,安装流程:
1) 解压tar zxvf czmq-1.4.1.tar.gz
2) cd czmq-1.4.1
3) 执行:
#./configure
#make
#make install
2.4. CZMQ安装测试
#cd ./czmq-1.4.1/src
#./czmq_selftest
3.安装php 及php zeromq扩展方法
将zmq-1.0.9(ZMQ PHP扩展包)拷贝到php的ext/zmq目录(php安装包解压后的目录做为根目录)下,
然后到php-5.5的根目录执行:
#./buildconf --force
#./configure --prefix=/usr/local/php5 --enable-fastcgi --enable-force-cgi-redirect --enable-soap --enable-sockets --enable-sqlite-utf8 --with-iconv=/usr/local/libiconv --with-zmq
#make
#make install
4. 启动lighttpd服务(默认lighttpd已经编译过)
#./lighttpd -D -f lighttpd.php.conf
lighttpd.php.conf配置文件:
server.document-root = "/usr/local/boa"
server.port = 2013
mimetype.assign = (
".html" => "text/html",
".txt" => "text/plain",
".jpg" => "image/jpeg",
".png" => "image/png"
)
static-file.exclude-extensions = ( ".fcgi", ".php", ".rb", "~", ".inc" )
index-file.names = ( "index.html" )
server.modules += ("mod_fastcgi")
fastcgi.server =( ".php" =>
((
"socket" => "/tmp/php.socket",
"bin-path" => "/usr/local/php5/bin/php-cgi",
"bin-environment" => (
"PHP_FCGI_CHILDREN" => "16",
"PHP_FCGI_MAX_REQUESTS" => "10000"
),
"min-procs" => 1,
"max-procs" => 1,
"idle-timeout" => 20
))
)
三、实践
下文请参考下一篇博客《【linux + lighttpd + php + zeromq】之实战训练》。
:博客都是用心写的,希望大家感觉还不错的给评价鼓励鼓励,谢谢!: