一想到Linux Web服务器,我们首先想到的是:

Apache + MySql + Php.

Apache:是世界使用排名第一的Web服务器软件。

可以运行在几乎所有广泛使用的计算机平台上,由于其跨平台和安全性被广泛使用,是最流行的Web服务器端软件.

MySQL:是一个关系型数据库管理系统,由瑞典MySQL AB公司开发。是最流行的关系型数据库管理系统,在WEB应用方面MySQL是最好的RDBMS(关系数据库管理系统)应用软件之一。

PHP:(外文名: Hypertext Preprocessor,中文名:“超文本预处理器”)是一种通用开源脚本语言。语法吸收了C语言、Java和Perl的特点,易于学习,使用广泛,主要适用于Web开发领域。


树莓派可以安装这个LAMP系列,但Apache 和 MySql对于树莓派这个小小的机器,太重了,主要是消耗内存多\速度慢\占用磁盘大(约200M吧),所可以选择安装一个轻量级的Web服务器:

nginx + php + sqlite

nginx:是个轻量级的Web服务器,是一款轻量级的Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,上nginx的并发能力确实在同类型的网页服务器中表现较好。

SQLite:是一款轻型的数据库,是遵守ACID的关系型数据库管理系统,它的设计目标是嵌入式的,而且目前已经在很多嵌入式产品中使用了它,它占用资源非常的低,在嵌入式设备中,可能只需要几百K的内存就够了。

Apache + MySql + Php.

1、安装Apache

Apache可以用下面的命令来安装
sudo apt-get install apache2

Apache默认路径是/var/www/

其配置文件路径为: /etc/apache2/

可以通过:sudo vi /etc/apache2/ports.conf修改监听端口号

重启服务生效:sudo service apache2 restart

2、安装mysql
sudo apt-get install mysql-server
安装过程中,会出现一个提示符让你输入一个密码。
这个密码是mysql root用户的密码。

3、安装PHP
输入下面的命令,就可以安装PHP 5,以及PHP访问mysql数据库所需要的库。

sudo apt-get install php5

sudo apt-get install php5-mysql

4、测试

安装完成后,可以在浏览器中输入你路由器的IP或域名,就可以访问你的网站了。

你应该能看到一个页面显示“It works”,但是没有其它内容。

创建一个/var/www/index.php

  1. <?php
  2. print <<< EOT
  3. <!doctype html>
  4. <html lang="en">
  5. <head>
  6. <meta charset="UTF-8">
  7. <title>Test successful</title>
  8. </head>
  9. <body>
  10. <h1>Test successful</h1>
  11. <p>Congratulations.</p>
  12. <p>Your webserver and PHP are working.</p>
  13. </body>
  14. </html>
  15. EOT;
  16. ?>

二、nginx + php + sqlite

1、安装nginx  web服务器 (约6MB)
sudo apt-get install nginx

2、启动nginx

sudo /etc/init.d/nginx start

nginx的www根目录默认在 /usr/share/nginx/www中

3、修改nginx的配置文件
sudo vi /etc/nginx/sites-available/default

1)以下几个选项注意一下:

listen   8080;                                             ## listen for ipv4; this line is default and implied

//监听的端口号,如果与其它软件冲突,可以在这里更改

root /usr/share/nginx/www;

//nginx 默认路径html所在路径

index index.html index.htm index.php;

//nginx默认寻找的网页类型,我们可以增加一个index.php

2)PHP脚本支持(不设这几项PHP脚本无法识别)

找到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

4)安装php和sqlite(约3MB)
sudo apt-get install php5-fpm php5-sqlite

5)重新加载nginx的配置
sudo /etc/init.d/nginx reload

6)测试html

通过主机的IE访问树莓派,可以看到主页(表示Web服务器已正常启动)

7)测试php

在树莓派中生成一php文件

sudo vi /usr/share/nginx/www/index.php

在文件中输入以下内容

  1. <?php
  2. print <<< EOT
  3. <!doctype html>
  4. <html lang="en">
  5. <head>
  6. <meta charset="UTF-8">
  7. <title>Test successful</title>
  8. </head>
  9. <body>
  10. <h1>Test successful</h1>
  11. <p>Congratulations.</p>
  12. <p>Your webserver and PHP are working.</p>
  13. </body>
  14. </html>
  15. EOT;
  16. ?>

存盘退出

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

树莓派做web服务器(nginx、Apache)的更多相关文章

  1. web服务器【apache/nginx] 关闭目录的浏览权限

    web服务器[apache/nginx] 关闭目录的浏览权限 我的配置(将Options 中的Indexes干掉): <VirtualHost *:80> ServerAdmin webm ...

  2. Nginx是什么,有什么优点?为什么选择Nginx做web服务器软件?(经典经典)

    1.基础知识 代理服务器:    一般是指局域网内部的机器通过代理服务器发送请求到互联网上的服务器,代理服务器一般作用在客户端.应用比如:GoAgent,FQ神器.    一个完整的代理请求过程为:客 ...

  3. 树莓派之web服务器搭建

    树莓派之web服务器搭建 (一)使用ufw创建防火墙 设置目的:可以完全阻止对树莓派的访问也可以用来配置通过防火墙对特点程序的访问.使用防火墙更好的保护树莓派. 准备工作 1.带有5V电源的树莓派 2 ...

  4. web服务器-Nginx URL重写

    web服务器-Nginx URL重写 一. URL重写介绍 和apache等web服务软件一样,rewrite的主要功能是实现URL地址的重定向.Nginx的rewrite功能需要PCRE软件的支持, ...

  5. 高性能Web服务器Nginx

    高性能Web服务器Nginx介绍 Nginx是一款轻量级的Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,并在一个BSD-like 协议下发行.其特点是占有内存少,并发能力强 ...

  6. web服务器-nginx虚拟主机

    web服务器-nginx虚拟主机 一 虚拟主机介绍 就是把一台物理服务器划分成多个虚拟的服务器, 每一个虚拟主机都可以有独立的域名和独立的目录,同时发布俩个网站. 二. 基于IP的虚拟主机 应用场景: ...

  7. web服务器-nginx默认网站

    web服务器-nginx默认网站 一 默认网站 server { listen 80; server_name localhost; location / { root html; index ind ...

  8. web服务器-Nginx下载限速

    web服务器-Nginx下载限速 一. 限速介绍 在生产环境中,为了保护WEB服务器的安全,我们都会对用户的访问做出一些限制,保证服务器的安全及资源的合理分配. 限流(rate limiting)是N ...

  9. web服务器-nginx配置文件

    web服务器-nginx配置文件 一 nginx配置文件 #启动子进程程序的默认用户 #user nobody #一个主进程和多个工作进程.工作进程是单进程的,且不需要特殊授权即可运行:这里定义的是工 ...

随机推荐

  1. PHP新手必须掌握的入门与实战技巧

    作为当今主流的开发语言,PHP集简单.免费.高效等特点于一身.对于想加入PHP大军的新手来说,从何学起.如何学习? 你需要掌握PHP的基础知识.常用功能模块.面向对象.MVC等相关技能.学会了这些技能 ...

  2. IOS 表视图(UITableVIew)的使用方法(2)名单的分段显示

    我们可以采用名字分段法,名字分段会在之后的小节中显示,这是转而使用球员的角色分段发,以最直接的入手点讲解好UITableView的分段使用方法.本节示例时基于上节的SimpleTableViewCon ...

  3. RFID介绍及电子标签成本预估

    What is RFID • RadioFrequencyIdentification, (無線射頻識別系統)• 通常是由感測器(Reader)和RFID標籤(Tag)所組成的系統 RFID分類 • ...

  4. delphi 文件夹权限设置(执行一个小脚本的笨办法)

    如题,研究了一天,也没再网上找到比较好的方式,自己做了一个.方法如下: 1.创建一个 cmd 命令文件.2.调用该命令. 代码如下:   S:='echo y|cacls h: /t /c /g ev ...

  5. Oracle 表空间操作

    -- 查询已有表空间 SELECT TABLE_SPACENAME FROM DBA_TABLESPACES; -- 创建表空间 CREATE TABLESPACE SPACE DATAFILE ‘E ...

  6. golang语法学习(一):变量,常量以及数据类型

    学习一门新的语言肯定是要从他的主要的语法開始,语法构成了整个程序设计的基础,从语法中我们也能够看到这门语言的一些特性.可是话说回来.语法这东西,不同的语言大同小异,所以这也对语法的记忆造成了一定的难度 ...

  7. [置顶] JDK-Future 模式和实现

    最近的项目用到了多线程,发现java.util.concurrent.Future蛮好用的. 像平时,写多线程一般使用Thread/Runnable,直接扔给线程池执行就好了.但是遇到了一些需要获取线 ...

  8. VS快捷键简单记录

    代码上下移动行:Alt+上下键 跳转相等大括号:Ctrl+]

  9. Jmeter 发送json{Jfinal 接口req rsp均为json}

    链接地址:http://yangyoupeng-cn-fujitsu-com.iteye.com/blog/2013649 使用jmeter发送json数据.方法有三种 原创,转载请注明出处 1.利用 ...

  10. FtpManager类

    public class FtpManager { /// <summary> /// 主机名 /// </summary> string ftpServerIP; /// & ...