精华内容
下载资源
问答
  • 树莓派WEB服务器

    2017-12-03 16:35:01
    由于好多版本的更新,参考很多大神的配置后,发现有的版本更换后,一些文件修改的地方和位置,都不一样了。 配置步骤请参考下面俩个网站:http://blog.csdn.net/xdw1985829/article/details/38919495 ...

    由于好多版本的更新,参考很多大神的配置后,发现有的版本更换后,一些文件修改的地方和位置,都不一样了。
    配置步骤请参考下面俩个网站:

    http://blog.csdn.net/xdw1985829/article/details/38919495
    http://www.eeboard.com/bbs/thread-27383-1-1.html

    我个人配置的是:
    nginx + php + sqlite

    详细步骤请看网站的步骤,只在这里说明修改的地方。

    php 已经升级到PHP7

    在安装php和sqlite(约3MB)时
    sudo apt-get install php5-fpm php5-sqlite
    软件源显示的是无法定位该软件,有可能是我本人的软件源没有设置的原因,导致软件定位失败,无法下载

    我个人直接
    sudo apt-get install php
    下载的就的就是最新的版本

    后续的步骤看网页

    然后修改的PHP文件的目录,已经更改地方
    /var/www/html/index.html

    而不是
    /usr/share/nginx/www/test.php

    个人学的比较浅薄,如有问题请指出

    展开全文
  • 树莓派WEB服务器(Boa)基本设置与使用目标用户:树莓派玩家,创客。 树莓派是一台功能完整的迷你电脑,一台完整的电脑所拥有的功能,树莓派全都有(只是体积变得更小)。树莓派除了能完成传统嵌入式能够做到的网络...

    树莓派WEB服务器(Boa)基本设置与使用

    目标用户:树莓派玩家,创客。

    树莓派是一台功能完整的迷你电脑,一台完整的电脑所拥有的功能,树莓派全都有(只是体积变得更小)。树莓派除了能完成传统嵌入式能够做到的网络视频监控、网络传感、音频解码等等外,还能完成视频解码、机器视觉、3D游戏等等。因此树莓派最有意思的玩法就是软硬结合。

    Web服务器

    Web服务器一般指网站服务器,是指驻留于因特网上某种类型计算机的程序,可以向浏览器等Web客户端提供文档,也可以放置网站文件,让全世界浏览;可以放置数据文件,让全世界下载。目前最主流的三个Web服务器是Apache 、Nginx、 IIS。一句话大家访问的网站都构建在Web服务器上。

    嵌入式WEB服务器

    • 随着Internet技术的兴起,在嵌入式设备的管理与交互中,基于Web方式的应用成为目前的主流,这种程序结构也就是大家非常熟悉的B/S结构,即在嵌入式设备上运行一个支持脚本或CGI功能的Web服务器,能够生成动态页面,在用户端只需要通过Web浏览器就可以对嵌入式设备进行管理和监控,非常方便实用。

    • 用户首先需要在嵌入式设备上成功移植支持脚本或CGI功能的Web服务器,然后才能进行应用程序的开发。

    • 由于嵌入式设备资源一般都比较有限,并且也不需要能同时处理很多用户的请求,因此不会使用Linux下最常用的如Apache等服务器,而需要使用一些专门为嵌入式设备设计的Web服务器,这些Web服务器在存贮空间和运行时所占有的内存空间上都会非常适合于嵌入式应用场合.

    • 树莓派上运行的web服务器主要跑一些轻量级的服务器如Nginx、Nodejs、Boa等。

    • 实现的功能主要是通过web界面对系统软硬件进行设置控制。如常见的路由器设置就是通过web服务器实现。

    这里写图片描述

    BOA 服务器是一个小巧高效的web服务器,是一个运行于unix或linux下的,支持CGI的、适合于嵌入式系统的单任务的http服务器,源代码开放、性能高。

    Boa服务器安装

    因为树莓派强大的软件支持能力,很多软件可直接安装使用,省去了ARM开发板软件移植的过程(arm开发板的软件一般要下载源码,通过arm的编译器重新编译)。

    进入pi的终端界面,输入以命令:

    $sudo apt-get update       //更新软件源
    $sudo apt-get install boa  //安装boa服务器
    $sudo dpkg -l |grep boa    //查看安装的boa软件包

    Boa软件版本是0.94.14
    这里写图片描述

    Boa服务器的配置

    boa启动时需要一个配置文件boa.conf,该文件的缺省目录目录是:/etc/boa/

    $sudo vim /etc/boa/boa.conf

    把原来的配置文件进行copy备份后,根据自己网页文件的存放目录(/var/www )并按照以下步骤进行修改。

    1. 设置html文件目录: DocumentRoot /var/www
    2. 设置默认首页: DirectoryIndex index.html
    3. 设置cgi脚本目录: 将ScriptAlias /cgi-bin/ /usr/lib/cgi-bin
      修改为 ScriptAlias /cgi-bin/ /var/www/cgi-bin

    Boa服务器使用

    • 启动boa服务器
    $sudo boa

    这里写图片描述

    • index.html
      写一个最简单的index.html文件,放在/var/www/目录下。
    <html>
    <body>
    <h1>Hello Pi BOA.</h1>
    </body>
    </html>
    • 浏览器访问

    保证你的电脑同树莓派是在一个局域网中,相互的ip应可以ping通。
    打开电脑中浏览器在地址栏输入树莓派的ip,访问成功的显示的网页界面。

    这里写图片描述

    常见问题:
    无法访问–服务器没有启动。
    404 提示–服务器启动,没有对应网页文件。

    展开全文
  • 树莓派WEB服务器(Boa)空气监测项目网页界面参考源码http://pan.baidu.com/s/1dFN8Twt系统WEB界面 1 . 天气质量界面 2 . 天气预报界面 3 . 系统设置界面 开发流程Created with Raphaël 2.1.0start后台服务程序...

    树莓派WEB服务器(Boa)空气监测项目

    网页界面参考源码http://pan.baidu.com/s/1dFN8Twt

    系统WEB界面

    1 . 天气质量界面

    这里写图片描述

    2 . 天气预报界面

    这里写图片描述

    3 . 系统设置界面

    这里写图片描述

    开发流程

    Created with Raphaël 2.1.0start后台服务程序设计网页界面功能设计系统测试end

    后台服务程序

    主要通过二个线程实现主要功能。
    pth_ipc 线程:进程间通信 ,网页同后台程序数据交换。
    pth_update:系统定时更新空气与天气数据到全局结构体。

    int main(int argc,char* argv[])
    {
        pthread_t pth_ipc,pth_update;
        init_sys(); 
        pthread_create(&pth_update,NULL,update_pro,NULL);
        pthread_create(&pth_ipc,NULL,ipcs_pro,NULL);
    
        pthread_join(pth_update,NULL);
        pthread_join(pth_ipc,NULL);
        return 0;
    }

    页面数据更新示意图

    Created with Raphaël 2.1.0网页网页进程通信进程通信后台程序后台程序网页更新请求,0x01结构体数据更新到共享内存读取共享内存数据显示在网页通过串口定时读取pm2.5模块数据python程序定时读取网络天气数据网页数据保存请求,0x02共享内存更新到全局结构体全局结构体保存到配置文件更新标志置位为1网页请求更新天气,0x03更新标志置位为1

    PM2.5模块数据开发文档:

    http://blog.csdn.net/tony_shen/article/details/73332476

    Python网络天气数据开发文档:

    http://blog.csdn.net/tony_shen/article/details/69226919

    如果不想购买阿里云的天气API接口数据,可以把源码目录下的day_file,week_file,code_file三个文件拷贝到树莓派的/home/pi目录下。

    天气质量页面

    界面设计:参考前面的图片
    功能设计:显示空气参数,AQI、PM2.5 网络、PM2.5本地,PM10,图表方式显示PM2.5数据(使用数据可视化图表库echarts)。

    ECharts (数据可视化图表库) http://echarts.baidu.com/

    参考源代码:

    http://pan.baidu.com/s/1bptlGPx

    执行Makefile文件,生成sys_run后台程序,

    //源代码目录,编译程序
    $sudo make
    
    //copy到boa的cgi-bin目录
    $sudo cp pm25_show.cgi /var/www/cgi-bin  
    
    //运行后台服务程序
    $sudo ./sys_run 

    首先要把网页界面的参考代码拷贝到树莓派boa服务器指定的web目录。网页的图表,样式,图表要能正确的显示出来。

    在浏览器输入cgi程序地址例如: http://10.1.1.230/cgi-bin/pm25_show.cgi 就可以看到空气质量页面。

    展开全文
  • 树莓派WEB服务器(Boa)CGI编程入门

    千次阅读 2017-07-20 18:06:22
    这不是运行Web服务器最终的目的,最终应是通过B/S(浏览器/服务器)模式实现两端的相互。 下面通过一个CGI编程实例来学习,WEB服务器的动态编程技术。“体重指数(BMI)计算器”,用户输入自己的身高与体重后点击...

    通过上一个课程“Boa基本设置与使用”的学习,大家在树莓派上应已经会安装、配置、运行Boa服务器,并且访问到服务器上的一个静态网页。
    这不是运行Web服务器最终的目的,最终应是通过B/S(浏览器/服务器)模式实现两端的相互。

    下面通过一个CGI编程实例来学习,WEB服务器的动态编程技术。“体重指数(BMI)计算器”,用户输入自己的身高与体重后点击计算,服务器就会计算出BMI数值。

    课程资源(程序参考代码,图片)http://pan.baidu.com/s/1dF3WIiP

    体重指数(BMI)计算器

    这里写图片描述

    开发设计流程

    Created with Raphaël 2.1.0界面功能设计 静态html文件,html程序显示界面静态cgi文件,cgi程序显示界面动态cgi文件,cgi程序处理用户数据显示调试运行

    一、HTML静态显示

    1 . 静态的html文件

    cgi.html

    <html>
    <body>
    <div align="center">
    
    <form action="bmi.cgi" method="GET">
    
    <table> 
    <tr><td rowspan="3"><img src="bmi.png" hight="60" width="120"></td>
    <td align="center" colspan="3"><h2>体重指数(BMI)计算器</h2></td></tr>
    
    <tr><td >身高 : <input type="text" name="cm"  size="3"> cm </td>
    <td >体重 : <input type="text" name="kg"  size="3"> kg </td>
    <td align="center" ><input type=submit value=" 计 算 " size="16"> </td></tr>
    
    <tr><td align="center" colspan="3">BMI = 
    <input type="text" name="ret" value=""  size="3" readonly></tr> 
    </table>    
    
    </form>
    </br><img src=bmi_index.png >
    </div>
    
    </body>     
    </html> 

    二、CGI程序输出页面

    CGI基本概念

    CGI:通用网关接口(Common Gateway Interface)是一个Web服务器主机提供信息服务的标准接口。通过CGI接口,Web服务器就能够获取客户端提交的信息,转交给服务器端的CGI程序进行处理,最后返回结果给客户端。

    WEB服务器和CGI程序之间的通讯
    服务器和CGI程序之间是通过标准输入输出来进行数据传递的,而这个过程需要环境变量的协作方可实现。

    1.服务器将URL指向一个应用程序
    2.服务器为应用程序执行做准备
    3.应用程序执行,读取标准输入和有关环境变量
    4.应用程序进行标准输出

    这里写图片描述

    服务器上运行的cgi 通过标准输入(环境变量)来取得客户端用户数据,通过标准输出向客户端返回数据显示。

    CGI数据输出
    CGI程序如何将信息处理结果返回给客户端?这实际上是CGI格式化输出。
    在CGI程序中的标准输出stdout是经过重定义了的,它并没有在服务器上产生任何的输出内容,而是被重定向到客户浏览器,这与它是由C,还是Perl或Python实现无关。
    所以,我们可以用打印来实现客户端新的HTML页面的生成。比如,C的printf是向该进程的标准输出发送数据,Perl和Python用print向该进程的标准输出发送数据。

    课程中CGI程序使用C语言编程。
    向标准输出发送网页内容时要遵守MIME格式规则:
    任意输出前面必须有一个用于定义MIME类型的输出内容(Content-type)行,而且随后还必须跟一个空行。

    printf( "Content-type:text/html\n\n" );

    2 . cgi显示界面程序

    bmi.c

    #include<stdio.h>
    
    int main()
    {
        printf( "Content-type:text/html\n\n" ); 
    
        printf("<html><body><div align=\"center\">\n");
    
        printf("<form action=\"bmi.cgi\" method=\"GET\"><table>     \n");
    
        printf("<tr><td rowspan=\"3\"><img src=\"../bmi.png\" hight=\"60\" width=\"120\"></td>    \n");
        printf("<td align=\"center\" colspan=\"3\"><h2>体重指数(BMI)计算器</h2></td></tr>    \n");
        printf("<tr><td >身高 : <input type=\"text\" name=\"cm\"  size=\"3\"> cm </td>    \n");
        printf("<td >体重 : <input type=\"text\" name=\"kg\"  size=\"3\"> kg </td>    \n");
        printf("<td align=\"center\" ><input type=submit value=\" 计 算 \" size=\"16\">   </td></tr>    \n");
        printf("<tr><td align=\"center\" colspan=\"3\">BMI =     \n");
        printf("<input type=\"text\" name=\"ret\" value=\" \"  size=\"3\" readonly></tr>     \n");
        printf("</table></form></br><img src=\"../bmi_index.png\" >    \n");
        printf("</div></body>   </html>     \n");
    
        return 0;                       
    
    }

    CGI程序的编译执行

     $gcc bmi.c -o bmi.cgi           //gcc编译器编译
     $cp bmi.cgi /var/www/cgi-bin/   //拷贝到boa服务器设定的cgi-bin目录
    
     //在客户端浏览器输入cgi程序地址如:10.1.1.123/cgi-bin/bmi.cgi 回车后就可看到本文最开始显示的web页面。

    三、CGI程序数据处理

    CGI环境变量
    对于CGI程序来说,它继承了系统的环境变量。CGI环境变量在CGI程序启动时初始化,在结束时销毁。
    当一个CGI程序不是被HTTP服务器调用时,它的环境变量几乎是系统环境变量的复制。当这个CGI程序被HTTP服务器调用时,它的环境变量就会多了关于HTTP服务器、客户端、CGI传输过程等项目。

    这里写图片描述

    CGI数据传输方式
    REQUEST_METHOD:它的值一般包括两种:POST和GET,但我们写CGI程序时,最后还要考虑其他的情况。
    1.POST方法
    如果采用POST方法,那么客户端来的用户数据将存放在CGI进程的标准输入中,同时将用户数据的长度赋予环境变量中的CONTENT_LENGTH。
    2.GET方法
    在该方法下,CGI程序无法直接从服务器的标准输入中获取数据,因为服务器把它从标准输入接收到得数据编码到环境变量QUERY_STRING(或PATH_INFO)。
    3.POST与GET的区别
    以 GET 方式接收的数据是有长度限制,而用 POST 方式接收的数据是没有长度限制的。并且,以 GET 方式发送数据,可以通过 URL 的形式来发送,但 POST方式发送的数据必须要通过 Form 才到发送。

    CGI程序实现步骤
    从服务器获取数据
    C语言实现代码:
    POST方法
    length = atoi(getenv(“CONTENT_LENGTH”));
    inputstring = malloc(sizeof(char)*length + 1);
    fread(inputstring, sizeof(char), length, stdin);

    GET方法
    inputstring = getenv(“QUERY_STRING”);

    CGI程序获取数据都是连续字符串要进行解析才能得到独立数据。
    getvalue.h文件中给出处理函数get_value( )

    3 . cgi数据动态处理程序

    在上面bmi.c基础上进行修改,首先在main函数最前面加上以下代码。

    int main(){
        char *val_cm = NULL;
        char *val_kg = NULL;
        int cm,kg,len=0;
        float mm,bmi=0.0;
    
        set_env(getenv("REQUEST_METHOD"),
                getenv("CONTENT_LENGTH"),
                getenv("QUERY_STRING"));    
    
        //<input type="text" name="cm"  size="3">       
        val_cm = get_value("cm");   //通过变量名获取身高
    
        val_kg = get_value("kg");   //通过变量名获取体重 
        cm = atoi(val_cm);
        kg = atoi(val_kg);
        if(cm > 0 && kg > 0){
            mm = cm/100.0;
            bmi = (kg / (mm * mm));
        }
    ...
    //这里是页面显示代码
    ...
    }

    下面输出bmi数据的html代码。

    printf("<input type=\"text\" name=\"ret\" value=\" \"  size=\"3\" readonly></tr>     \n");

    修改成输出计算出用户数据的代码。

    if(bmi == 0.0)
        printf("<input type=\"text\" name=\"ret\" value=\"  \"  size=\"3\" readonly></tr>     \n");
    else
          printf("<input type=\"text\" name=\"ret\" value=\" %4.2f  \"  size=\"3\" readonly></tr>     \n",bmi); 
    

    编译后copy到cgi-bin目录,现在用户在浏览器就可以输入数据提交后,服务器计算结果显示。

    如果浏览器出现502错误,说明 cgi程序运行有问题。可以在终端下运行调试。

    展开全文
  • 树莓派搭建web服务器

    万次阅读 2018-07-19 13:42:21
    树莓派搭建Web服务器  安装nginx+sqlite+php5打造轻量级W服务器  简单介绍一下 Nginx是一款轻量级的Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,并在一个BSD-like 协议下发行。...
  • Tornado一款使用 Python 编写的,相对简单的 非阻塞式 Web 服务器,它是非阻塞式服务器,而且速度相当快。得利于其 非阻塞的方式和对 epoll 的运用,Tornado 每秒可以处理数以千计的连接,因此 Torn...
  • 一、安装准备(硬件部分)树莓派主板TF卡 >=8G读卡器一台PC电源+电源线 5V 2A网线usb鼠标+usb键盘 (后期不需要)液晶显示器(后期不需要)HDMI转VGA视频线(后期不需要)二、安装系统首先将TF卡在PC上进行格式化 fat32...
  • 基于树莓派Web服务器

    千次阅读 2020-07-10 23:36:36
    本篇博客主要介绍了自己做过的一个小课设:基于树莓派Web服务器,整体方案为Python+Django+Nginx+uWSGI+CentOS。
  • 安装ApacheApache服务器可以从Debian的源中下载。可以用apt下载。首先要更新apt的软件列表。如果不运行sudo apt-get updata的话,apt软件就不知道有没有新的软件包或者版本更新。Apache可以用下面的命令来安装...
  • 搭建一个家庭Web服务器,你可以通过网页在任何地方控制操作和监控家里的情况。在树莓派上安装linux系统,到官网下载系统压缩包,推荐使用raspbian。如果在windows下安装,需要下载win32diskimager,解压系统,将解压...
  • 树莓派搭建WEB服务器

    2018-01-21 13:27:00
    树莓派搭建WEB的教程网上有许多,但感觉每一篇都有一些问题,这次我将网上的教程汇总,并亲身实践,将注意的问题都写进去,方便新手学习! 目录:1,安装nginx+sqlite+php5打造轻量级服务器,够轻了 2,安装...
  • 使用Flask创建一个基本的Python Web服务器 Flask是一个用于创建网页的基于Python的微框架。它可以用于在Pi上呈现基于Web的界面,并且相对容易设置。创建仪表板很有用,我在寻找创建我的划桨池控制面板的方法时首先...
  • 树莓派web服务器搭建 (一)使用ufw创建防火墙 设置目的:可以完全阻止对树莓派的访问也可以用来配置通过防火墙对特点程序的访问。使用防火墙更好的保护树莓派。 准备工作 1、带有5V电源的树莓派2、一张安装并...
  • 1.概述在局域网内,基于flask搭建web服务,从而可以使用移动客户端访问该web服务。由于是flask新手,所以本次实现的web服务功能较为简单,即控制LED灯的开/关及闪烁。2.准备工作2.1安装GPIO(通用输入输出接口)首先...
  • 树莓派安装Web服务器Boa和CGIC 陈拓chentuo@ms.xab.ac.cn2020/08/01-2020/08/09 1. 树莓派换源 为了加快所需软件的下载,我们需要先换源。 首先查看系统版本:lsb_release -a 修改软件更新源 /etc/apt/...
  • 下载花生壳在花生壳官网下载页面,选择“树莓派”,点击立即下载。 图1 下载链接:... 1.安装dpkg。...在上文中将下载后包复制到树莓派上,通过cd命令进入对应下载目录,输入下面的命令
  • 树莓派web服务器

    2016-07-30 18:16:41
    http://blog.csdn.net/xdw1985829/article/details/38919495

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 491
精华内容 196
关键字:

树莓派web服务器