Tag: 系统管理
11号晚上开始,未托管的VPS就发了疯一样, 只要一启动 sudo service apache2 start CPU用量就接近 100%, 然后如果你不去管它的话, 很快服务器就停止反应,只能从控制面版里重启. 虽然有在前面放个cloudflare挡一下, 但是免费的(cache size 好像才 100M)感觉不是很好用,而且免费ssl有点坑.后来, 果断禁掉了一些IP (大多是疯狂没有节制的搜索爬虫),并且加强了安全,防止 root 帐号被暴力破解. 再一次查看最耗资源的进程,发现仍然是 apache2 请求.于是果断先备份所有数据文件, 然后尝试不同的参数配置(默认的对于我的情况不是很靠谱),以下是针对我的VPS的配置,我的VPS是双核 2.8G, 1G 内存, 20G 硬盘: <IfModule …
大部分VPS或者虚拟主机服务器什么的都是基于 Linux 系统 (其它操作系统像 Windows 不太适合做服务器, 一则是价钱贵,二是不稳定) Linux 系统主要是命令行界面,多任务多用户系统.强大的地方在于如果配置好的话,完全可以拔掉显示器键盘鼠标等,只接电源放几个月甚至几年都不会出问题. 这篇贴子介绍了备份数据(库)的一种思路.这篇帖子则介绍如何在发现有问题的访问后就禁止掉该IP.有一个非常好的办法就是经常监控比较耗资源(CPU或内存)的进程,及时发现问题. 我们可以在LINUX下创建一个脚本,含有以下内容,并且 chmod +x 后可以直接在命令行下运行. #!/bin/bash #helloacm.com echo "-------`date`--------" echo "\t\t%MEM\t%CPU" ps ax -o comm,%mem,%cpu | sort -nk3 | tail …
备份是我们常需要做的事, 你可以在服务器上有一个文件夹专门用于存放备份.然后定期删除(可以是一个脚本定期执行),这样就比较麻烦,因为如果你想每次删除比较旧的备份, 你就得对备份进行时间倒序. 其实可以完全利用LINUX下的 date命令来生成想要的文件名用于备份.比如你想保留过去的 24 小时备份,那么,你可以用: H=`date +"%H"` ls > backup_$H # your backup command (e.g. mysqldump) 来生成类似 backup_0, backup_1, .. backup_23 之类的文件名.对应过去24 小时每小时的备份.同时,你的 Crontab 必须设置成每小时运行一次.这样就省事许多,因为每一时间最多就 24 个备份,新的会复盖掉24小时前的老备份.也不必担心硬盘爆掉. …