查看“第九课--microWRT 应用开发之服务器搭建”的源代码
←
第九课--microWRT 应用开发之服务器搭建
跳转至:
导航
、
搜索
因为以下原因,您没有权限编辑本页:
您所请求的操作仅限于该用户组的用户使用:
用户
您可以查看与复制此页面的源代码。
{| style="width: 800px;" |- | microWRT既是一个路由器,也可以把它打造成一个小型服务器。它本身的系统就是Linux,从这个角度来讲,一些常用的软件只要经过交叉编译, 都可以被安装在microWRT上。通过前面的教程,我们已经扩展了microWRT的存储器,所以大部分软件都可以安装。 用microWRT做服务器的一个瓶颈就是性能的问题。所以,我们只能在上面 安装一些轻量级的软件服务。本文主要使用PHP和Lighttpd来完成服务器的搭建。在x86的服务器上经常知道一些应用系统或是网站都是基于LAMP进行开发的, LAMP(Linux + Apache + MySQL + PHP)。在智能路由中完全可以搭建出一套类似的OLSP(OpenWrt+Lighttpd+Sqlite+PHP)完成。 ==PHP 介绍== PHPDE 中文名字为"超文本预处理器"(Hypertext Preprocessor)是目前全球互联网上最火爆的WEB后端语言,拥有大量的开源库, 其特点: 运行快,学习简单,库资源丰富。一般具备任何一门编程语言背景的朋友只要花费上1-2个小时便能入门,一周时间基本可以掌握开发技巧。 在OpenWrt系统下,可以采用了FastCGI技术让PHP和Lighttpd进行配合工作,其性能和内存资源占用率都非常均衡。而且网上有大量的系统, 比如像著名的论坛系统Discuz据hoowa所了解早就有人安装到OpenWrt中。 1. 安装PHP语言包 查看官方BB版本支持的PHP包: root@microWrt:~# opkg update root@microWrt:~# opkg find php5-* 根据需要选择安装自己需要的PHP包,这里实例安装。 root@microWrt:~# opkg install php5-cli php5-cgi php5-fastcgi php5-mod-session php5-mod-sqlite3 php5-mod-mysql php5-mod-ctype php5-mod-gd php5-mod-sockets php5-mod-mcrypt php5-mod-mbstring php5-mod-curl 查看安装结果: root@microWrt:/mnt/sda/usr/bin# ./php-cli --version PHP 5.4.27 (cli) (built: Sep 24 2014 18:41:18) Copyright (c) 1997-2014 The PHP Group Zend Engine v2.4.0, Copyright (c) 1998-2014 Zend Technologies ==Lighttpd 介绍== 在服务器上的Linux系统中我们普遍使用的WEB服务器有两种,一个是Nginx,一个是Apache,这两个都是非常著名的系统,在全球使用量在上百万套, 他们也拥有OpenWrt下的版本,但是由于体系庞大支持复杂,并不适合我们这种小设备使用。 Lighttpd是一个德国人发起的开源web服务器软件,其特点是高性能、安全、快速、兼容性好、内存开销低,CPU占用率低等特点。 Lighttpd是所有轻量级web技术当中最优秀的之一。它支持FastCGI, CGI, Auth, Compress,Rewrite, Alias等必备的web服务器技术。 PHP采用fastcgi模式与Lighttpd连接,内存中驻留一定数量的进程等待请求,在消耗一定内存的情况下降低CPU占用率,提升性能。 除此之外,OpenWRT的LUCI项目采用的是uhttp+uhttp_lua(嵌入lua)+libuci语言开发完成的,在后续的教程中我们也将介绍LUA语言的安装, 不过该语言并不适用于功能要求复杂的建站环境。 1. 安装Lighttpd 查看官方BB版本支持的Lighttpd包 root@microWrt:~# opkg update root@microWrt:~# opkg find lighttpd-* 安装Lighttpd常见软件包 root@microWrt:~# opkg install lighttpd lighttpd-mod-fastcgi lighttpd-mod-access lighttpd-mod-alias lighttpd-mod-redirect lighttpd-mod-rewrite lighttpd-mod-evasive 准备WEB文件存放路径,其中的参数根据自己的u盘挂载目录来设置。如下类似。 root@microWrt:~# rm -rf /www root@microWrt:~# mkdir /mnt/sda/www root@microWrt:~# chmod -R 777 /mnt/sda/www root@microWrt:~# ln -s /mnt/sda/www/ /www root@microWrt:~# ls -l ../www lrwxrwxrwx 1 root root 26 April 1 02:45 ../www -> /mnt/sda/www/ 2. 配置lighttpd 使用VI编辑器编写新的/etc/lighttpd/lighttpd.conf server.modules = ( "mod_access", "mod_alias", "mod_redirect", "mod_rewrite", "mod_fastcgi", "mod_evasive" ) server.document-root = "/mnt/sda/www" server.errorlog = "/var/log/lighttpd/error.log" server.port = 80 index-file.names = ( "index.php", "index.html", "index.htm" ) static-file.exclude-extensions = ( ".php" ) server.pid-file = "/var/run/lighttpd.pid" server.upload-dirs = ( "/tmp" ) evasive.max-conns-per-ip = 18 fastcgi.server = ( ".php" => (( "socket" => "/tmp/php-fastcgi.socket", "bin-path" => "/usr/bin/php-fcgi", "bin-environment" => ( "PHP_FCGI_CHILDREN" => "2", "PHP_FCGI_MAX_REQUESTS" => "100" ), "min-procs" => 1, "max-procs" => 2, "idle-timeout" => 20 )) ) 3. 启动Lighttpd 设置启动服务 root@microWrt:~# /etc/init.d/lighttpd enable 手工启动一次 root@microWrt:~# /etc/init.d/lighttpd start ==PHP测试代码== 编辑文件/pub/www/test1.php,内容如下 <?php phpinfo(); ?> 在浏览器中访问microWRT的这个地址,比如http://192.168.1.1/test1.php,既可看到输出。当然,玩家也可以编写其他的PHP脚本来测试。。 |}
返回至
第九课--microWRT 应用开发之服务器搭建
。
导航菜单
个人工具
创建账户
登录
名字空间
页面
讨论
变种
视图
阅读
查看源代码
查看历史
更多
搜索
Welcome
首页
创客大赛
大赛详情
3D打印
安装月球车
图形化编程
操控月球车
升级月球车
编程工具下载
软件下载
Arduino
Processing
Mixly
Scratch
模块套件
Microduino 102
mCookie 102
mCookie 202
mCookie 302
IBC
其他
应用套件
四轴飞行器
平衡车
小车CUBE
音乐播放器
刷卡音乐播放器
wifi气象站
彩虹音乐触摸灯
分贝检测仪
迎门汇报
LED点阵时钟
LED点阵屏幕
硬件
mCookie
Sensor
Microduino
MicroWrt
MicroNux
MicroRobot-Core
MicroRobot-CoreESP
ideaBoard
ideaBox
MicroMV
MicroAI
帮助
常见问题
帮助
工具
链入页面
相关更改
特殊页面
页面信息