将树莓派变成一个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服务器已正常启动)

<ignore_js_op>

7. 在树莓派中生成一php文件,测试一下php

sudo nano /usr/share/nginx/www/test.php

在文件中输入以下内容

<?  phpinfo(); ?>

存盘退出

IE访问一下这一页,说明php也是OK的

<ignore_js_op>

8, 我们还需要安装一个ftp服务器,用于对web上下载文件

安装vsftpd,用于web内容的ftpd上传,安装方法见树莓派(raspberry pi)学习之安装ftp服务器

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根目录,并可上下载文件\创建目录\删除文件等等.

此贴转自JOSTUDIO的个人博客。

最新文章

  1. .NET编码解码(HtmlEncode与HtmlEncode)
  2. boost timer 定时器 Operation cancel !
  3. [课程设计]Scrum 1.4 多鱼点餐系统开发进度(点餐页面框架布置)
  4. SPSS数据分析—非参数检验
  5. 【Spring】Spring系列5之Spring支持事务处理
  6. Html A标签中 href 和 onclick 同时使用的问题 优先级别
  7. 一网打尽当下NoSQL类型、适用场景及使用公司
  8. Unity3D ShaderLab 自定义光照模型
  9. js判断值是否为数字
  10. Android 百度地图API(01)_开发环境 HelloBaiduMap
  11. POJ 1743 - Musical Theme 最长不重叠重复子串
  12. Windows窗体Winform----show()与showDialog()的区别
  13. HTML学习笔记 w3sCss盒子模型应用案例(div布局) 第十一节 (原创) 参考使用表
  14. Linux CAN Shell 测试脚本程序
  15. SQL server 数据库的索引和视图、存储过程和触发器
  16. java、二维数组详解!
  17. 148. Sort List (java 给单链表排序)
  18. Mysql锁(翻译)
  19. MIT-6.828-JOS-lab3:User Environments
  20. java Map常用方法封装

热门文章

  1. 转: git使用时让http记住帐号密码
  2. [Algorithm] Check for balanced parentheses using stack
  3. Android 模仿QQ空间风格的 UI
  4. 【转载】TypeScript学习笔记——var与let
  5. Lintcode: Unique Paths
  6. JavaScript 之 最佳位置选择
  7. Suse系统中不使用SFTP的话,还可以使用lrzsz。
  8. shell alias添加别名使用
  9. HTML:Hyper Text Markup Language 超文本标记语言
  10. Android 内存泄漏总结(转)