一个专注于计算机编程和硬件学习的博客主
13/1
2019

搭建树莓派仪表盘(nginx+PHP7+pi-dashboard)

今天给树莓派添加了仪表盘

它的入口在最下方的【状态监控】
17.png

安装和配置Nginx/PHP/SQLite3

考虑到树莓派性能比较弱鸡,如果使用的MySQL或者其他数据库,那基本上每天都会宕机,综合考虑还是适合的Nginx +的SQLite3的配置较为合适,当然PHP是必不可少的。

安装nginx:

sudo apt-get install nginx

安装SQLite3:

sudo apt-get install sqlite3

安装PHP(PHP7):

sudo apt-get install nginx php7.0-fpm php7.0-cli php7.0-curl php7.0-gd php7.0-mcrypt php7.0-cgi php7.0-sqlite php7.0-xml

安装PHP-APC优化:

sudo apt-get install php-apc

安装完毕后,开始配置。

开始配置

配置Nginx:

sudo nano /etc/nginx/nginx.conf

打开以后找到下面的位置并修改:

user www-data;
worker_processes 1; #修改这里
pid /var/run/nginx.pid;
events {
worker_connections 64; #修改这里
#multi_accept on;
}

继续向后找到gzip 去掉前面的注释修改如下:

gzip on;
gzip_disable “msie6”;
gzip_vary on;
gzip_proxied any;
gzip_comp_level 6;
gzip_buffers 16 8k;
gzip_http_version 1.1;
gzip_types text/plain text/css application/json application/x-javascript text/xml application/xml application/xml+rss text/javascript;

CTRL+O保存,CTRL+X退出(后面将直接用保存并退出代替)
配置PHP:

sudo nano /etc/php/7.0/fpm/php.ini

打开以后找到下面的代码,并修改:

; Maximum amount of memory a script may consume (128MB)
;http://php.net/memory-limit
memory_limit = 32M #修改这里

CTRL+O(保存)CTRL+X(退出)

配置PHP-FPM:

sudo nano /etc/php/7.0/fpm/php-fpm.conf

找到一下代码,并修改:

; The maximum number of processes FPM will fork. This has been design to control
; the global number of processes when using dynamic PM within a lot of pools.
; Use it with caution.
; Note: A value of 0 indicates no limit
; Default Value: 0
process.max = 4 #修改这里

保存并退出。

配置网站的相关配置,先备份一份比较安全:

sudo cp /etc/nginx/sites-available/default /etc/nginx/sites-available/default.bak

修改配置文件:

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;
if (-f $request_filename/index.html){
    rewrite (.*) $1/index.html break;
}
if (-f $request_filename/index.php){
    rewrite (.*) $1/index.php;
}
if (!-f $request_filename){
    rewrite (.*) /index.php;
}
}

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

保存并退出。

修改完成以后,测试下PHP已经是否能正常请立即获取iTunes

sudo nano /var/www/html/index.php

输入内容如下:

<?php
      phpinfo();
?>

重启nginx和PHP7-FPM

sudo /etc/init.d/nginx restart
sudo /etc/init.d/php7.0-fpm restart

在电脑浏览器中输入树莓派IP地址查看是否成功:

出现如下界面为成功:
14.png

部署 Pi Dashboard

利用GitHub部署

cd /var/www/html
sudo git clone https://github.com/spoonysonny/pi-dashboard.git

即可通过 http://树莓派IP/pi-dashboard 访问部署好了的 Pi Dashboard。

如果页面无法显示,可以尝试在树莓派终端给源码添加运行权限,例如你上传之后的路径是 /var/www/html/pi-dashboard,则运行。

cd /var/www/html
sudo chown -R www-data pi-dashboard

搭建完以后如果你出现的是这样的界面
15.png

16.png

说明你搭建成功了,就利用你的这个仪表盘去查看你树莓派的状态吧.

但是,如果你出现的是这样的界面
18.png

你可以通过右键的检查,看到这些css和js文件是没有找到的.
19.png

我也试了很多办法,还总是无法找到这些文件,我在网上搜索也没有搜到相关的讲解.
于是,我就把所有的css和js文件写到了它的index.php文件里了.

pi-dashboard.rar

大家可以点击下载,利用ftp的方式上传到/var/www/html目录下覆盖掉前面下载的文件.
当出现这样的界面说明你成功了.
20.png

已有 4 条评论

  1. 原来是依赖phpfpm的呀

    1. 我也不太清楚,还没开始学PHP,现在打算搬家了,树莓派的内网穿透太不稳定了。

添加新评论