自从2021年底网站因树莓派内存卡损坏而崩溃,修复后一直留有一个让人难受的bug,插着移动硬盘(因为要运行网盘),开机会报错说找不到文件系统,emm。当时好不容易恢复网站的正常运行,就没管这个问题。但我不在服务器身边的时候,服务器网络若出现波动,它不会重新连接网络,目前只能通过重启(bug一个一个修复不要急)来重新联网,但插着硬盘重启过不去,试出来的将就的办法是,先拔下硬盘开机,识别完文件系统后再插上硬盘。每次都得让卷帝来帮我执行这个操作太麻烦他了,不过这次修复的直接导火索是,随着时间的流逝,它出现了新的问题,开机一小段时间之后,网盘访问会一直转圈,卡在那里,然而看log并没有人攻击我,em定位到是硬盘这边的问题。
啊因为去年上半年有一天我误删了我电脑双系统的linux那部分(关于服务器的搭建记录都在那里,哭哭),修复起网站来很多操作没法看笔记,现搜现用。排查问题中,使用 ls -l /dev/disk/by-uuid/ 命令查看UUID的时候,发现内存卡和移动硬盘的PARTUUID竟然是一样的,这,啊问题肯定就出在这了,开机的时候找boot和文件系统默认都是根据PARTUUID找的,怪不得插着硬盘的时候没法自己启动系统。然后把rc.local里面的自动挂载硬盘给删掉,改成在/etc/fstab 文件中,通过UUID自动挂载硬盘,并把内存卡中的boot和文件系统也改成根据UUID挂载,因为每个设备的每个分区的UUID的独有的不会重复,所以这样可靠性更高。啊终于可以在插着硬盘的情况下完美重启了。
增加了对UUID的理解,也为以后实现将系统从内存卡迁移到u盘或硬盘中做了一个技术储备,之前尝试实现的时候,虽然树莓派3b+支持u盘(硬盘)启动,但我要做的时候现有的在内存卡上搭载网站的系统的迁移,猜测是因为启动引导这里的问题所以上次尝试失败,等返校了找机会再次探索系统迁移。
另外,在这次升级过程中,nash.zhao提醒网站的安全存在较大的漏洞,因为之前网站可以通过网址访问服务器内的文件和文件夹,查了查资料,将 /etc/apache2/apache2.conf 文件中的 Options Indexes FollowSymLinks 语句,改为 Options FollowSymLinks,即删除Indexes,禁止了服务器内文件和文件夹的外部访问。使用 sudo service apache2 restart 重启了一下 apache2, 测试一下,嗯没问题了。
20220626网站服务器bug修复记录
评论 (2)
yyds
nash.zhao yyds!