树莓派安装LAMP,部署个人网页
目的:
在树莓派4B上安装LAMP,把给小女的个人网页部署到上面,记录点点滴滴、喂奶记录、身高体重等等。只能说小姑凉不仅费钱,还费老爸的脑力,先给大家看看效果。
树莓派上安装 LAMP:
这个安装参考斐然成章的如何在树莓派上安装 LAMP,经过测试整个步骤可用,但是在安装php时的命令sudo apt-getinstall php php7.0-mysql时,中间的php要加个7.0才有源可下载安装。数据库最好安装mariadb,而且也会被引导到mariadb安装。phpMyAdmin数据库可视化工具使用起来非常方便,以前在windows的wampserver使用过,树莓派上面使用有时弹出一些故障,但是不影响功能。
安装完成后测试正常,但要是在局域网其他终端访问的话,需要etc/httpd/conf/httpd.conf修改配置文件Allow from 127.0.0.1改为Allow from all。再不行就要看看防火墙是否关闭。
前端bootstrap:
前端我使用框架bootstrap,因网页是单网页,5个项目是通过div id来跳转的。但比较得意的是利用模态框来处理修改和删除数据,界面非常好用。
<div class="btn-group">
<a class="btn btn-primary" data-toggle="modal" data-target="#editModal" data-remote="edit_modal_content.php?ID=<?php echo $myrow->ID; ?>">编辑</a>
<a class="btn btn-danger" data-toggle="modal" data-target="#delModal" data-remote="del_modal_content.php?ID=<?php echo $myrow->ID; ?>">删除</a>
</div>
mariadb数据库备份:
crontab -e编辑定时任务每天凌晨4点执行backup_mysql.sh脚本,添加后crontab -l查看是否添加成功。
0 4 * * * /home/pi/backup_mysql.sh
脚本内容是如下,利用mysqldump工具备份数据库formula_table,并以日期命名sql文件,同时删除超过7天的sql文件但保存10/20/30日的文件,删除超过61的sql文件。
mysqldump -hlocalhost -uphpmyadmin -proot formula_table > /home/pi/mysqlbackup_formula/`date +%Y%m%d`.sql
find /home/pi/mysqlbackup_formula/ -mtime +7 -name '*[1-9].sql' -exec rm -rf {} \;
find /home/pi/mysqlbackup_formula/ -mtime +61 -name '*.sql' -exec rm -rf {} \;
数据库统计功能:
统计最近三天的奶量和喂养次数的Ssql语句。
$sqlstr0 = "select sum(VOLUME),count(*) from records WHERE TO_DAYS(NOW()) - TO_DAYS(TIME) = 0";
$sqlstr1 = "select sum(VOLUME),count(*) from records WHERE TO_DAYS(NOW()) - TO_DAYS(TIME) = 1";
$sqlstr2 = "select sum(VOLUME),count(*) from records WHERE TO_DAYS(NOW()) - TO_DAYS(TIME) = 2";
定时重启:
从运维的角度出发,我选择每周一中午12点重启树莓派,和数据库备份一样添加定时任务,命令为sudo reboot。 crontab -e编辑添加 0 12 * * 1 sudo reboot。cron每秒执行一次,执行时会读取三个地方的配置,也可以直接配置/etc/crontab,或者/etc/cron.d目录文件,在/etc/cron.d目录下添加一个文件可能更加好。
高可用性:
树莓派自带硬件看门狗,可以根据条件设置树莓派系统自动重启,不过我没有设置,我的是树莓派高配版本~~。还有如果不怕浪费,再买个树莓派,是否可以来个keepalived(heartbeat)+drdb。
以上内容如有不解,欢迎交流,我最近迷上了树莓派。