将树莓派变成一个Web服务器,通过访问网页,就可以控制树莓派,比如:查看摄像头\开灯等等.
一想到Linux Web服务器,我们首先想到的是,Apache + MySql + Php.
树莓派可以安装这个LAMP系列,但Apache 和 MySql对于树莓派这个小小的机器,太重了,主要是消耗内存多\速度慢\占用磁盘大(约200M吧)
所以要安装一个轻量级的Web服务器.
经试用,推荐组合为: nginx + php + sqlite
nginx 是个轻量级的Web服务器,比Apache不差
sqlite 是个最轻量级的数据库
php 大家都很熟悉了,Web脚本语言
1,安装nginx web服务器 (约6MB)
sudo apt-get install nginx
2,启动nginx
sudo /etc/init.d/nginx start
nginx的www根目录默认在 /usr/share/nginx/www中
3,安装php和sqlite(约3MB)
sudo apt-get install php5-fpm php5-sqlite
4,修改nginx的配置文件
sudo nano /etc/nginx/sites-available/default
4.1 找到listen行,将其前面的#号注释去掉,修改后内容如下
listen 80; ## listen for ipv4.
4.2 找到index行,加入index.php,修改后内容如下
index index.php index.html index.htm
4.3 找到php的定义段,将这些行的注释去掉 ,修改后内容如下
location ~ .php$ {
fastcgi_pass unix:/var/run/php5-fpm.sock;
fastcgi_index index.php;
include fastcgi_params;
}
php段中有一些其它定义,不要去动它,比如:
# fastcgi_split_path_info ...
# fastcgi_pass 127.0.0.1:9000
5.重新加载nginx的配置
sudo /etc/init.d/nginx reload
6, 测试一下,通过主机的IE访问树莓派,可以看到主页(表示Web服务器已正常启动)
7. 在树莓派中生成一php文件,测试一下php
sudo nano /usr/share/nginx/www/test.php
在文件中输入以下内容
<? phpinfo(); ?>
存盘退出
IE访问一下这一页,说明php也是OK的
8, 我们还需要安装一个ftp服务器,用于对web上下载文件
安装vsftpd,用于web内容的ftpd上传,安装方法见我的上一篇博文:树莓派(raspberry pi)学习10: 安装ftp服务器(http://blog.csdn.net/c80486/article/details/8460854)
9,生成一个网站管理员用户,用于ftp上下载网站文件,如下
增加一个用户,用户名为webadmin
sudo useradd webadmin
修改用户webadmin的密码
sudo passwd webadmin
按系统提示,输入密码,例如:123456
让用户webadmin拥有www根目录的所有权
sudo chown -R webadmin /usr/share/nginx/www
将用户webadmin的登录目录更改为www根目录
sudo usermod -d /usr/share/nginx/www webadmin
重启vsftpd
sudo service vsftpd restart
OK,配置完成,用户webadmin登录ftp后,将直接进入www根目录,并可上下载文件\创建目录\删除文件等等.
网文参考:http://kmil.us/blog/2012/08/12/raspberry-pi-as-a-web-server/