注:现在正常已经不允许通过域名+端口的方式访问带有http服务的公网端口,请熟知

来源:

Pi Dashboard (Pi 仪表盘) 是树莓派实验室发布的一款开源的 IoT(物联网) 设备监控工具,目前主要针对树莓派平台,也尽可能兼容其他类树莓派硬件产品。你只需要在树莓派上安装好 PHP 服务器环境,即可方便的部署一个 Pi 仪表盘,通过炫酷的 WebUI 来监控树莓派的状态!

项目地址:https://github.com/spoonysonny/pi-dashboard

原文地址:https://shumeipai.nxez.com/2018/04/25/install-pi-dashboard-with-nginx-php7-on-pi.html

目前已加入的监测项目有:

  • CPU 基本信息、状态和使用率等实时数据
  • 内存、缓存、SWAP分区使用的实时数据
  • SD卡(磁盘)的占用情况
  • 实时负载数据
  • 实施进程数据
  • 网络接口的实时数据
  • 树莓派IP、运行时间、操作系统、HOST 等基础信息

演示


手机版显示,树莓派实验室做得UI挺好的,画面很顺畅
(点击图片放大)

改动

最初树莓派实验室发布的时候已经是2017年,PHP环境已经些和以前不同,搭建过程会与原文有出入安装以本文为准

安装和配置Nginx + PHP7.0环境

已经搭建过LNMP环境的可以省略1-3

  1. 安装PHP和nginx环境sudo apt-get install nginx php7.1-fpm php7.1-cli php7.1-curl php7.1-gd php7.1-mcrypt php7.1-cgi

  2. 启动nginx服务sudo service nginx start,然后再浏览器输入http://localhost看看是不是已经可以看见简单网页了,看到即表示成功.

  3. 重启php7.1-fpm sudo service php7.1-fpm restart

  4. sudo nano /etc/nginx/sites-available/default将其中的如下内容:

location / {
                # First attempt to serve request as file, then
                # as directory, then fall back to displaying a 404.
                try_files $uri $uri/ =404;
        }

替换为:

   location / {
   index  index.html index.htm index.php default.html default.htm default.php;
   }

   location ~\.php$ {
   fastcgi_pass unix:/run/php/php7.1-fpm.sock;
   #fastcgi_pass 127.0.0.1:9000;
fastcgi_param SCRIPT_FILENAME    $document_root$fastcgi_script_name;
   include fastcgi_params;
   }

然后保存

  1. 重启nginx:sudo service nginx restart

  2. nginx的网页默认存放路径为/var/www/html/,先进入这个目录:cd /var/www/html/

  3. 把Pi-Dashboard下载到该目录:sudo git clone https://github.com/spoonysonny/pi-dashboard.git

  4. 先试一下用浏览器打开http://树莓派ip/pi-dashboard,如果不能显示,则修改一下目录权限sudo chmod 777 pi-dashboard

    ****最好清空一下浏览器缓存****

实现公网访问

接下来需要一个域名,把树莓派用于映射到公网上,可以直接使用域名访问,例如:https://chrisxs.com/pi-dashboard,途径有很多,有内网穿透的Ngrok之类,还有烂大街的花生壳(这个忍不住吐槽...),这里使用Frp形式的Sakura Frp点击这里看介绍

转载具体教程:

Sakura的教程已经很详细了,这里就不啰嗦,自己点击去看看吧

Linux环境的客户端支持X86/64/ARM(含树莓派),最好是使用树莓派映射自身127.0.0.1树莓派启动的同时映射自己到公网,省电.当然你不怕耗电或者是Linux新手的话可以使用Windows的图形客户端,开着电脑或者笔记本来映射局域网中的树莓派,珍惜生命远离windows 服务器 :huajia:

成功测试后的图:

补充

  • 不要再root用户目录:/root/之下下载和启动客户端,会有权限问题

  • Skura 教程里没有提到的问题-设置开机自动启动客户端,这个客户端是不能通过编辑rc.local启动的,即使做成脚本也不行具体要使用systemd来创建服务:

    1. 创建服务:sudo nano /etc/systemd/system/frp.service
    2. 编辑服务文件:sudo nano /etc/systemd/system/frp.service,并加入一下内容:
    [Unit]
    Description=Frp
    After=network.target

    [Service]
    Type=simple
    ExecStart=/home/pi/frpc_linux_arm -t 你的服务ID -s 服务器ID

    [Install]
    WantedBy=multi-user.target
  1. 启用服务sudo systemctl enable frp
  2. 启动服务sudo systemctl start frp
  3. 查询服务状态sudo systemctl status frp

一沙一世界,一花一天堂。君掌盛无边,刹那成永恒。