树莓派变成一个Web服务器: nginx + php + sqlite
将树莓派变成一个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/
树莓派变成一个Web服务器: nginx + php + sqlite的更多相关文章
- 树莓派(raspberry pi)学习11: 将树莓派变成一个Web服务器(转)
将树莓派变成一个Web服务器,通过访问网页,就可以控制树莓派,比如:查看摄像头\开灯等等. 一想到Linux Web服务器,我们首先想到的是,Apache + MySql + Php. 树莓派可以安装 ...
- 将树莓派变成一个web服务器(2):Nginx+Flask+uWSGI部署全过程
1)安装Flask,uwsgi,nginx sudo apt-get update sudo apt-get install python-flask #Flask sudo apt-get inst ...
- 用C写一个web服务器(二) I/O多路复用之epoll
.container { margin-right: auto; margin-left: auto; padding-left: 15px; padding-right: 15px } .conta ...
- 高性能Web服务器Nginx
高性能Web服务器Nginx介绍 Nginx是一款轻量级的Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,并在一个BSD-like 协议下发行.其特点是占有内存少,并发能力强 ...
- 高性能Web服务器Nginx的配置与部署研究(13)应用模块之Memcached模块+Proxy_Cache双层缓存模式
通过<高性能Web服务器Nginx的配置与部署研究——(11)应用模块之Memcached模块的两大应用场景>一文,我们知道Nginx从Memcached读取数据的方式,如果命中,那么效率 ...
- 高性能Web服务器Nginx的配置与部署研究(7)核心模块之主模块的非测试常用指令
1. error_log 含义:指定存储错误日志的文件 语法:error_log <file> [debug|info|notice|warn|error|crit] 缺省:${prefi ...
- 十七、创建一个 WEB 服务器(一)
1.Node.js 创建的第一个应用 var http=require("http") http.createServer(function (req,res) { res.wri ...
- web服务器-Nginx URL重写
web服务器-Nginx URL重写 一. URL重写介绍 和apache等web服务软件一样,rewrite的主要功能是实现URL地址的重定向.Nginx的rewrite功能需要PCRE软件的支持, ...
- web服务器-nginx虚拟主机
web服务器-nginx虚拟主机 一 虚拟主机介绍 就是把一台物理服务器划分成多个虚拟的服务器, 每一个虚拟主机都可以有独立的域名和独立的目录,同时发布俩个网站. 二. 基于IP的虚拟主机 应用场景: ...
随机推荐
- poj 1041 John's trip 欧拉回路
题目链接 求给出的图是否存在欧拉回路并输出路径, 从1这个点开始, 输出时按边的升序输出. 将每个点的边排序一下就可以. #include <iostream> #include < ...
- feof()和EOF的用法(转载)
查看 stdio.h 可以看到如下定义: #define EOF (-1) #define _IOEOF 0x0010 #define feof(_stream) ((_stream)-& ...
- Net Core WebAPI
Net Core WebAPI .Net Core WebAPI 基于Task的同步&异步编程快速入门 Task.Result async & await 总结 并行任务(Task)以 ...
- 使用 Media Center 遥控器(Windows Vista Premium)
本文适用于安装了 Windows Vista Premium 并附带遥控器的 HP 和 Compaq 台式电脑. 本文简要介绍了三种Windows Media Center 遥控器上每个按钮的功能. ...
- 在VC6中基于dll开发插件用于各种图片显示(BMP/TGA/JPG/GIF/PNG/TIF/ICO/WMF/EMF/...)
一.图片显示 图片显示的方法: 1. 直接写程序 2. 第3方库 3. 调用COM组件的IPicture接口 4. 使用MFC的CPictureHolder类 5. 使用GDI+的CImag ...
- Android之ListView性能优化
ListView滚动速度优化主要可以应用以下几点方法来实现: 1.使用Adapter提供的convertView convertView是Adapter提供的视图缓存机制,当第一次显示数据的时候,ad ...
- CKEditor 图片上传
可以做如下配置: CKEDITOR.replace('editor1',{ filebrowserBrowseUrl:'/browser/browse.php', filebrowserUploadU ...
- php如何在原来的时间上加一天?一小时
php如何在原来的时间上加一天?一小时? <?phpecho "今天:",date('Y-m-d H:i:s'),"<br>";echo &q ...
- SpringMVC静态文件(图片)访问+js访问 简单小例子
项目文件布局: web.xml文件: <?xml version="1.0" encoding="UTF-8"?> <web-app vers ...
- map的erase()释放内存
STL中的map调用erase(it),当value值为指针时,释放内存: #include <iostream> #include <map> #include <st ...