最近此站点没法访问了,cloudflare 提示连接我的服务器出错,我也不知道原因是什么,二话不说,先把服务器重启。再刷新网站,提示没法连接数据库。我就再重启 MySQL:
systemctl start mysqld
结果重启失败,报出如下的错误:
Starting mysqld (via systemctl): Job for mysqld.service failed because the control process exited with an error code. See "systemctl status mysqld.service" and "journalctl -xe" for details.
我的服务器只花了 10 美元,要运行 WordPress 程序,下意识觉得磁盘空间不够,因为才 10g 的空间,如何查看磁盘的占用情况呢?运行如下指令:
df -h
可以看到磁盘的占用空间达到了 94%,10g 这么快就用完了。
Filesystem Size Used Avail Use% Mounted on
devtmpfs 219M 0 219M 0% /dev
tmpfs 234M 0 234M 0% /dev/shm
tmpfs 234M 13M 222M 6% /run
tmpfs 234M 0 234M 0% /sys/fs/cgroup
/dev/vda1 9.4G 8.3G 604M 94% /
tmpfs 47M 0 47M 0% /run/user/1002
那如何检测出哪个文件占用的大,将其删除释放空间出来呢?运行如下指令:
# du -sh *
0 bin
231M boot
1.2G data
0 dev
23M etc
28K home
0 lib
0 lib64
16K lost+found
4.0K media
4.0K mnt
4.0K opt
0 proc
1.5G root
13M run
0 sbin
4.0K srv
0 sys
44K tmp
4.9G usr
493M var
可以看到 usr 目录下占用了 5g,将近一半的空间。进入文件夹,删掉大文件,重启 mysqld 服务就搞定了。
进入 usr 目录,看看哪里占用较大。
# du -sh *
119M bin
4.0K games
41M include
681M lib
278M lib64
103M libexec
3.2G local
33M sbin
482M share
852K src
0 tmp
接着进入 local
# cd local
# du -sh *
2.0M bin
5.0M curl
4.0K etc
12M freetype
4.0K games
103M imagemagick
780K include
120M lib
8.0K lib64
4.0K libexec
2.6G mysql
5.1M nginx
162M node
259M php
4.0K sbin
2.2M share
4.0K src
