将树莓派变成一个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的个人博客。

树莓派(raspberry pi)学习11: 将树莓派变成一个Web服务器(转)的更多相关文章

  1. 树莓派(raspberry pi)学习4: 更改键盘布局(转)

    树莓派(raspberry pi)用了几次后,发现键盘老是按错,一些字符打不出来或打错 这个问题,折腾我半天.还是把心得分享一下吧 上网查,发现是键盘布局不对,树莓派(raspberry pi)是英国 ...

  2. Raspberry Pi 学习笔记之一

    记录几个搭建服务器教程: [教程] 将树莓派变成网络打印机服务器(更新PC和手机端设置)!http://www.eeboard.com/bbs/thread-8818-1-1.html[心得] [分享 ...

  3. 树莓派变成一个Web服务器: nginx + php + sqlite

    将树莓派变成一个Web服务器,通过访问网页,就可以控制树莓派,比如:查看摄像头\开灯等等. 一想到Linux Web服务器,我们首先想到的是,Apache + MySql + Php. 树莓派可以安装 ...

  4. 树莓派raspberry pi配置

    (1)国际化语言 树莓派初装系统之后,首次启动会出现“raspi-config”工具,如下图:(若不是初次启动,在命令模式下,请输入 sudo raspi-config 命令,即可调出此界面.若在图形 ...

  5. VLOG丨树莓派Raspberry Pi 3安装PLEX并挂载USB硬盘打造最牛的微型家庭影音服务器2018

    视频介绍 树莓派3安装目前最流行的PLEX服务器,实现既能最大限度降低功耗,也能随时随地观看分享影片. 一.在树莓派下安装PLEX媒体服务器 1.在终端,将你的树莓派更新至最新 sudo apt up ...

  6. 用树莓派Raspberry Pi和Micro:bit做一个自拍器

    在这个项目中,我们将使用Python来构建一个由Micro:bit触发树莓派Raspberry Pi和相机模块的自拍器.这是开始使用硬件和简单文本编程的好方法. 我们将学习: 如何设置Raspberr ...

  7. 树莓派(Raspberry Pi)搭建简单的lamp服务

    树莓派(Raspberry Pi)搭建简单的lamp服务: 1. LAMP 的安装 sudo apt-get install apache2 mysql-server mysql-client php ...

  8. 外网登录访问树莓派 Raspberry Pi

    外网登录访问树莓派 Raspberry Pi 本地的树莓派 Raspberry Pi,只能在局域网内访问,怎样从公网也能登录访问树莓派 Raspberry Pi? 本文将介绍具体的实现步骤. 1. 准 ...

  9. 树莓派(Raspberry Pi)使用Shell编写的极简Service

    树莓派(Raspberry Pi)运行的系统是基于Debian的,不仅可以运行Shell,还支持systemd和docker,可以编写一个简单的服务,让其在启动时运行,执行一些自动化的操作.这里在Ra ...

随机推荐

  1. VC++深入详解-第四章学习心得

    这一章节主要讲解了 简单的绘图 主要是通过一些小的例子让我们学会了VC++的一些基本操作 void CDrawView::OnLButtonDown(UINT nFlags, CPoint point ...

  2. Spearman(斯皮尔曼) 等级相关

    Spearman相关系数又称秩相关系数,是利用两变量的秩次大小作线性相关分析,对原始变量的分布不作要求,属于非参数统计方法,适用范围要广些.对于服从Pearson相关系数的数据亦可计算Spearman ...

  3. Dubbo框架应用之(三)--Zookeeper注冊中心、管理控制台的安装及解说

    我是在linux下使用dubbo-2.3.3以上版本号的zookeeper注冊中心客户端. Zookeeper是Apache Hadoop的子项目,强度相对较好,建议生产环境使用该注冊中心. Dubb ...

  4. VS2013创建Node.js C++ Addons的过程

    首先看我的Node.js版本. node –v v6.11.4 然后参照这篇文章来做: https://nodejs.org/api/addons.html#addons_hello_world 安装 ...

  5. [Functional Programming] Create Reusable Functions with Partial Application in JavaScript

    This lesson teaches you how arguments passed to a curried function allow us to store data in closure ...

  6. CSS3提交意见输入框样式

    做了个输入框样式,如图: CSS代码例如以下: #button { cursor:pointer; width:30%; margin:5px; padding:8px; border-radius: ...

  7. JavaScript常用设计模式

    单例模式:确保类只能被实例化一次. var obj = {} 2.函数返回值 var func = function () {return {}} var obj = func(); 3.构造函数初始 ...

  8. uni-app - 支付(app支付、小程序支付、h5(微信端)支付)

    App支付.小程序支付.h5(微信端)支付 APP支付(内置) appPay.js /** * 5+App支付,仅支持支付宝以及微信支付 * * 支付宝Sdk集成,微信sdk未集成 * * @para ...

  9. struts.xml文件中package元素的各大属性讲解

    Struts2中的包: Struts2使用包来组织Action,将Action放在包下来定义,通过package元素配置一个包,通过package的子元素action来定义一个Action: Stru ...

  10. hadoop lzo应用

    几种压缩方式对比: LZO example: https://github.com/twitter/hadoop-lzo/blob/master/src/test/java/com/hadoop/ma ...