VPS磁盘空间不足导致ngnix无法启动

昨天感觉VPN速度贼慢,访问了下博客发现速度也上不去,遂登录控制面板看了一眼。结果Disk usage直接爆满,红的相当感人。

实在是想不出什么占用了这么大的空间,直接重启看看,然后就没有然后了,因为重启完磁盘占用率依旧感人,同时ngnix没有启动。尝试手动启动,结果报错提示磁盘空间不足,无法启动ngnix服务器。最可悲的是ssh也因为磁盘空空间不足死活连不上,真是哔了小狗了。

万幸的是vps的控制面板自带的简易shell还能用,输入df -h查看磁盘占用情况,结果是100%占用,然后一路df -sh *定位过去发现mysql目录下爆满(df -h查看哪个目录满,然后切款到该目录下后用df -sh *继续追踪),原来是装LNMP的时候默认开启了mysql的日志,然后满满的全是mysql-bin.*的日志文件。

果然啊,/var目录爆了。

root@slyar:/usr/local/mysql/var# ll --block-size=MB
total 504MB
-rw-rw---- 1 mysql mysql 26MB Jul 23 2012 mysql-bin.000011
-rw-rw---- 1 mysql mysql 5MB Jul 26 2012 mysql-bin.000012
-rw-rw---- 1 mysql mysql 27MB Aug 8 2012 mysql-bin.000013
-rw-rw---- 1 mysql mysql 43MB Aug 23 2012 mysql-bin.000014
-rw-rw---- 1 mysql mysql 270MB Feb 9 17:05 mysql-bin.000020
-rw-rw---- 1 mysql mysql 115MB Apr 19 12:27 mysql-bin.000021
-rw-rw---- 1 mysql mysql 1MB Feb 10 12:07 mysql-bin.index
-rw-rw---- 1 mysql mysql 0MB Apr 19 12:34 mysql-bin.~rec~

基本上就是被这些玩意占满了,查了一下Mysql手册发现这些东西也没啥用,直接删除(此操作最好在Mysql服务停止时进行,因为当前日志使用的话无法删除,而且有可能导致一些其它问题,不过用mysql>reset master命令可以直接清空日志)。

root@slyar:/usr/local/mysql/var# rm -f mysql-bin.*为了防止再次出现此类状况,直接关闭Mysql的log-bin日志功能。

vim /etc/my.cnf找到:

log-bin=mysql-bin
binlog_format=mixed在前面加上#注释掉,:wq保存退出。

最后:

/etc/init.d/mysql restart启动Mysql服务,一切正常。

补充:其它的问题

一、删除Ngnix日志后Ngnix不能启

修复这个问题很简单,只要关闭Ngnix 日志记录就可以了。找到Ngnix 安装目录编辑conf文件,将日志记录那行改为 “access_log /dev/null;” 之后再尝试启动Ngnix,不出意外Ngnix 就可以顺利启动了。

其实正确清除Ngnix日志的步骤是应该先关闭Ngnix ,然后mv重命名日志文件,再启动Ngnix,这时会自动生成日志文件,没有问题就可以直接删除日志文件了

二、Nginx启动出现端口被占用提示问题

fuser -n tcp 80

看看是什么被占用,也可以用netstat -ntpl看看谁占用,然后KILL掉占用的PID

然后通过 kill -9 删除进程

最后/etc/init.d/nginx start启动就可以。

时间: 2024-08-31 06:14:27

VPS磁盘空间不足导致ngnix无法启动的相关文章

磁盘空间不足导致mysql无法启动的mysql错误

在mysql中查看表提示1030错误: mysql> desc user; ERROR 1030 (HY000): Got error 28 from storage engine 引起这个错误的原因是磁盘空间不足,导致mysql的临时目录空间tmpdir不够. 解决方法是清空linux系统的/tmp目录,或者修改my.cnf中的tmpdir参数,指向具有足够空间的目录. 使用df 查看分区使用情况: [root@jsunsa tmp]# df /tmp Filesystem          

Reporting Service 2008 “报表服务器数据库内出错。此错误可能是因连接失败、超时或数据库中磁盘空间不足而导致的”

今天遇到了两个关于Reporting Service的问题, 出现问题的环境为Microsoft SQL Server 2008 R2 (SP2) - 10.50.4000.0 (X64) .具体情况请见下面描述.   1:在修改报表的订阅后,保存时出现下面错误: 提示:报表服务器数据库内出错.此错误可能是因连接失败.超时或数据库中磁盘空间不足而导致的. (rsReportServerDatabaseError) 获取联机帮助 有关此错误的详细信息,请导航到本地服务器上的报表服务器或启用远程错误

共享型SureHA集群磁盘过滤信息丢失导致无法启动

共享型SureHA集群磁盘过滤信息丢失,会导致组资源启动失败,出现该问题时,集群内的所有服务器均可以访问共享磁盘. 如果未设置NP资源,管理页面报错如下:     如果设置了NP资源,管理页面报错如下: 解决方案: 在设定模式中,选中第一台服务器,右键单击选择属性,如下图:   在HBA选项卡中,点击"连接",如下图:   勾选中共享磁盘所在的HBA,如下图,点击"确定":   按照同样的方法,为第二台服务器勾选共享磁盘HBA. 两台服务器修改完成后,在文件中选择&

记一次 superblock 损坏导致服务器无法启动的故障修复

原文地址:http://www.cppblog.com/dancefire/archive/2011/03/09/fix-bad-superblock-in-linux.html 前几天接到朋友联系,说他的服务器坏了,启动不起来了.这是一个RHEL 4的服务器,而且是那种盗版RHEL 4,也就是说没有售后服务的,联系我问问能不能帮帮忙.我也很久没有弄过Linux系统上的东西了.只好尝试一下,庆幸的是,修好了,并帮朋友维护了一段时间,在此记录一些修复和维护中碰到的问题.修复 superblock

Mysql InnoDB删除数据后释放磁盘空间的方法_Mysql

Innodb数据库对于已经删除的数据只是标记为删除,并不真正释放所占用的磁盘空间,这就导致InnoDB数据库文件不断增长. 如果在创建数据库的时候设置innodb_file_per_table=1,这样InnoDB会对每个表创建一个数据文件,然后只需要运行OPTIMIZE TABLE 命令就可以释放所有已经删除的磁盘空间. 运行OPTIMIZE TABLE 表名后,虽然最后会报Table does not support optimize, doing recreate + analyze in

MySQL案例--磁盘空间不足&MTS Group recovery失败

-------------------------------------------------------------------------------------------------正文---------------------------------------------------------------------------------------------------------------线上业务,最后一次内测阶段: 背景:MySQL-5.7.12 问题发生的现象:

因信号量问题导致ORA-27154无法启动数据库

测试库执行startup时提示(11.2.0.1): 查询ORA-27154的错误: Error: ORA-27154 Text: post/wait create failed --------------------------------------------------------------------------- Cause: internal error, multiple post/wait creates attempted simultaneously Action: c

如何优化Urchin配置文件数据库的磁盘空间

Urchin 的报告数据存储在各个配置文件所独有的每月数据库中(注:Urchin分析后的数据是按月归档),这些数据库一般位于 Urchin 的 data/reports 目录下.每个配置经过处理的数据库大小为原日志大小的5% 至10%. 默认情况下,Urchin 会保留每月的这些配置文件数据库,但经过长时间的数据积累数据量会变大,导致Urchin处理后的数据占用空间越来越大,并且在用户查看时也会降低Urchin的响应效率.因此,需要优化Urchin 配置文件每月数据库的磁盘存储空间. 优化 Ur

wince C#调试出现:0x80070070: 磁盘空间不足

用C#做界面,效率比MFC要高的多. wince 下,如果需要制作界面,或者需要访问sqlce数据库,C#就非常方便了,如果用MFC,你会发现,访问sqlce 数据库需要设置很多COM接口很麻烦.   初次使用C#开发智能设备应用程序,也就是在wince上运行的应用程序,用VS2005把C#界面程序写好之后,然后编译调试下载. 出现了0x80070070: 磁盘空间不足   错误信息如下:   ------ 已启动生成: 项目: File_cp, 配置: Debug Any CPU ------