0.前言
    前些时间沉迷于Restful,采用PHP+Slim+MySQL实现了一些简单的API函数。但是这些工作都是在windows中实现(采用wamp server集成安装包),但是转到linux中还确实有些不一样,下面就使用树莓派尝试一把。
 
1.安装php和apache2
    在这里仅安装php和apache2,如果需要安装mysql请再增加php5-mysql和mysql-server
    sudo apt-get update
    sudo apt-get install apache2 php
    
2.配置apache2
    【为什么配置apache】
    需要打开apache中的url重定向功能,例如api/leds/1,请示并不存在该文件,而是通过响应的代码生成响应。默认情况下,apache关闭了url重定向功能,所有才有了以下的设备。
    关于windows中的设置请查看博文——【PHP再学习4—— slim框架学习和使用
    【目录说明】
    若使用wamp server集成安装包,那么apache2相关配置文件位于\wamp安装目录\bin\apache\Apache2.4.4\conf
    若在linux环境配置文件就显得有些不一样了,配置文件位于 /etc/apache2,文件名为apache2.conf
    配置文件并不是有一个文件组成,还包括该目录下其他文件夹下的配置文件。
    
    【1】使能mode_rewirte
    sudo a2enmod rewrite
    【2】修改配置文件 使用.htaccess文件
    配置文件位于/etc/apache2/sites-available,文件名为default。
    在<Directory /var/www/>设置中,原定为AllowOverride None,意为不使用.htaccess文件,可修改为AllowOverride FileInfo,意为使用.htaccess中的相关设置。
   <Directory /var/www/>
            Options Indexes FollowSymLinks MultiViews
            # changed from None to FileInfo
            AllowOverride FileInfo
            Order allow,deny
            allow from all
    </Directory>
    【3】重启Apache
    sudo service apache2 restart
 
3.安装slim
    安装的具体方法有很多,这里就说说其中的一种。
    【使用Git克隆文件】
    可在home下建立一个临时文件,例如slim_temp(mkdir slim_temp)
    CD至该目录,输入以下指令
    【复制文件到/var/www/ 目录】
    把index.php文件,Slim文件夹和.htaccess文件 拷贝到/var/www/目录
    请注意/var/www/目录的所有者为root,复制前可修改该目录的所有者为pi
    sudo chown -R pi /var/www
     
4.简单的测试
    使用火狐浏览器中的HTTPRequest工具,POST方法。
   
图1 发送POST请求
5.总结
    虽然树莓派做Http server能力有限,但是过程非常有趣。通过过程学习了很多apache2配置的知识。
 
6.参考资料

树莓派学习笔记——Restful服务 采用slim php apache的更多相关文章

  1. 树莓派学习笔记(5):成功实现NAS家庭服务器(流媒体播放、文件共享及下载机)

    转载请注明:@小五义http://www.cnblogs.com/xiaowuyiQQ群:64770604 一.家庭服务器实现的主要功能 1.流媒体播放服务:利用DLNA实现电视.手机.电脑播放其上面 ...

  2. 树莓派学习笔记——交叉编译练习之SQLite3安装

    0.前言     本博文可能并没有太多使用价值.不过为了练习而练习.在树莓派上使用SQLite有非常多的方法,安装的方法也有非常多.     [1]假设使用Python,那么不必安装SQLite由于P ...

  3. 【转】树莓派学习笔记——I2C Tools 学习笔记

    原文网址:http://blog.csdn.net/xukai871105/article/details/15029843 1.安装     I2C驱动载入和速率修改请查看博文[树莓派学习笔记——I ...

  4. 【转】 树莓派学习笔记——I2C设备载入和速率设置

    原文网址:http://blog.csdn.net/xukai871105/article/details/18234075 1.载入设备 方法1——临时载入设备 sudo modprobe -r i ...

  5. 树莓派学习笔记——使用文件IO操作GPIO SysFs方式

    0 前言     本文描写叙述假设通过文件IO sysfs方式控制树莓派 GPIO端口.通过sysfs方式控制GPIO,先訪问/sys/class/gpio文件夹,向export文件写入GPIO编号, ...

  6. 树莓派学习笔记——USB wifi配置指南

    0 前言     树莓派既能够使用有线网络又能够无线网络,假设使用有线网络不方便的话能够借助USB wifi无线网卡让树莓派也插上无线"翅膀". 可是和使用有线网络即插即用的方式不 ...

  7. 树莓派学习笔记——apt方式安装opencv

    0.前言     本文介绍怎样在树莓派中通过apt方式安装opencv.并通过一个简单的样例说明怎样使用opencv. 相比于源码方式安装opencv,通过apt方式安装过程步骤简单些,消耗的时间也少 ...

  8. 树莓派学习笔记——I2C设备载入和速率设置

    原文:http://blog.csdn.net/xukai871105/article/details/18234075 1.载入设备 方法1——临时载入设备 sudo modprobe -r i2c ...

  9. 树莓派学习笔记—— 源码方式安装opencv

    0.前言     本文介绍怎样在树莓派中通过编译源码的方式安装opencv,并通过一个简单的样例说明怎样使用opencv.     很多其它内容请參考--[树莓派学习笔记--索引博文] 1.下载若干依 ...

随机推荐

  1. Python版GPA计算器

    最近在网申投简历时遇到一个需要计算GPA的问题,想起自己在上学时写的Excel公式版GPA计算器略显low,而且操作也比较复杂,于是一时兴起,写了个Python版的,在此分享给大家,也算是跟上时代的浪 ...

  2. php环境一键升级脚本

    因为要解析PHP页面需要配置相应的PHP环境,而系统本身的php版本又大多不合适.网上那种一键lamp和lnmp的脚本很多,但是这样一来自己能够定制的空间则少了.所以我自己编写了个门用于安装php环境 ...

  3. knockout 简单使用

    定义: var QcViewModel = function () { var self = this; self.name = ko.observable(); self.qty = ko.obse ...

  4. 理解WPF中的视觉树和逻辑树

    轉載地址:http://blog.csdn.net/changtianshuiyue/article/details/26981797 理解WPF中的视觉树和逻辑树  Understanding th ...

  5. hdoj6703 2019 CCPC网络选拔赛 1002 array

    题意 description You are given an array a1,a2,...,an(∀i∈[1,n],1≤ai≤n). Initially, each element of the ...

  6. PAT T1002 Business

    背包问题,把任务按截止日期排序,再按背包问题处理~ #include<bits/stdc++.h> using namespace std; ; struct node { int c; ...

  7. Vue——解决报错 Computed property "****" was assigned to but it has no setter.

    在最近的项目中遇到了如下的警告信息: [Vue warn]: Computed property " currentStep" was assigned to but it has ...

  8. C++常量表达式、const、constexpr(C++11新增)的区别

    常量表达式是指值不会改变且在编译过程中就能够得到计算结果的表达式,能在编译时求值的表达式. 程序先编译再运行:  在编译阶段, 编译器将在编译过程中把用到该常量的地方都全都替换为 常量的值. 但是常量 ...

  9. HDU 5587:Array

    Array  Accepts: 118  Submissions: 232  Time Limit: 2000/1000 MS (Java/Others)  Memory Limit: 131072/ ...

  10. node.js是什么,node.js创建应用

    简单的说 Node.js 就是运行在服务端的 JavaScript.Node.js 是一个基于Chrome JavaScript 运行时建立的一个平台.Node.js是一个事件驱动I/O服务端Java ...