注:现在正常已经不允许通过域名+端口的方式访问带有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
-
安装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
-
启动nginx服务
sudo service nginx start
,然后再浏览器输入http://localhost
看看是不是已经可以看见简单网页了,看到即表示成功. -
重启php7.1-fpm
sudo service php7.1-fpm restart
-
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;
}
然后保存
-
重启nginx:
sudo service nginx restart
-
nginx的网页默认存放路径为
/var/www/html/
,先进入这个目录:cd /var/www/html/
-
把Pi-Dashboard下载到该目录:
sudo git clone https://github.com/spoonysonny/pi-dashboard.git
-
先试一下用浏览器打开
http://树莓派ip/pi-dashboard
,如果不能显示,则修改一下目录权限sudo chmod 777 pi-dashboard
****最好清空一下浏览器缓存****
实现公网访问
接下来需要一个域名,把树莓派用于映射到公网上,可以直接使用域名访问,例如:http://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
来创建服务:- 创建服务:
sudo nano /etc/systemd/system/frp.service
- 编辑服务文件:
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
- 启用服务
sudo systemctl enable frp
- 启动服务
sudo systemctl start frp
- 查询服务状态
sudo systemctl status frp