Apache httpd 设定默认首页

Apache 设定了 DirectoryIndex 后, Apache 会自动开启目录下的相应页面, 例如: DirectoryIndex index.html index.htm index.php 如果没有 DirectoryIndex 设定的页面, 会显示 403 Forbidden 或者显示所有档案。 用 YUM 安装好 httpd 后, 如果网页根目录没有 DirectoryIndex, 默认会出现一个 “Testing 123” 的页面, …

Fail2ban 拦截暴力入侵 WordPress

WordPress 是目前最受欢迎的 CMS, 而针对 WordPress 的攻击也很多, 本文会讲述使用 Fail2ban 拦截对 WordPress 的暴力入侵。 如果未安装 Fail2ban, 先安装 Fail2ban, 可以参考本站另一篇文章: 拦截暴力入侵的 IP — Fail2Ban 安装好 Fail2ban 后, 在 Fail2ban 的 filter 目录建立 wordpress …

路由器常用默认登入密码

如果忘记了路由器的登入密码, 可以尝试将路由器 reset (这样原来的路由器设定会全部删除), 然后用路由器的默认密码登入设定, 路由器出厂时会默认一组登入名称及密码, 以下是一些常用路由器的默认登入密码。 路由器品版 登入 IP 登入名称:密码 Asus http://192.168.1.1 admin:admin Buffalo http://192.168.11.1 root: DD-WRT http://192.168.1.1 root:admin D-Link http://192.168.0.1 admin: Linksys http://192.168.1.1 admin:admin Netgear http://192.168.0.1 admin:password …

Shell Script 监测硬盘使用量

对于硬盘空间比较紧张的主机, 尤其是一些 VPS, 定时监测硬盘分割区使用量很有用。以下 Shell Script 可以检查每个硬盘分割区的使用量, 如果达到预先设定的百份比, 会以电邮通知系统管理员。 先建立一支 Shell Script, 以下会用档案名称 check-disk.sh 作为例子, 加入以下内容 第 3 行设定系统管理员的电邮, 第 4 行设定发出通知的使用量百份比, 条改好后给 check-disk.sh 执行权限: # chmod +x check-disk.sh …

对 rsync 实施限速

rsync 是一套 Linux 下的同步备份工具, 对日常备份十分有用。如果是从远端主机进行备份, 而且备份的档案容量很大, 有可能会将主机的频宽全部吃掉, 那便会在备份时影响主机的正常使用。 rsync 内建已经支援限速的功能, 只要使用 –bwlimit 参数, 便可以限制传送档案时硬盘的 I/O 速度, 从而达到限速的效果。即使是本机备份, –bwlimit 也可以避免备份时系统的负载过高。 例如将 I/O 限制为 1000 KBytes, 语法是这样: 备份到逹端主机的做法相同, 只要加上 –bwlimit=速度 便可以:

Shell Script – 发现 Load Average 高自动执行指令

当系统的 Load Average 很高时, 可能面临当机的风险, 遇到这个问题可以用 Shell Script 定时检查系统的 Load Average, 当发现 Load Average 到达某一个设定好的数值时, 便自动执行一些指令, 例如重启服务, kill process 或向系统管理员发出电邮通知等。 以下 Shell Script 会透过定时读取 /proc/loadavg 的数值, 当发现 Load Average …

Shell Script 检查并自动重启 Apache httpd

如果主机出现问题时, 可能负载过高或者服务当掉, 最理想的做法还是要找出原因, 很多时只要修改一些设定便可以。 早前遇到一位客户, 他安装在 VPS 的 Apache 会无故当掉, 间隔由几小时到一天不等, 检查后 Load Average 一点也不高, 当掉后只要重新启动 Apache 便没问题, 初部估计可能是 mpm_prefork 的设定问题。 由于修改后要观察一段时间, 这段时间 Apache 也可能当掉, 便写了这支 Shell Script, 会自动检查 …

MySQL 开启 innodb_file_per_table 及转换现有资料表

MySQL 会将 InnoDB 的资料表内的资料及索引全部储存到共享空间, 即是所有 InnoDB 资料表的资料全都放到 ibdata1 档案内。而 innodb_file_per_table 就可以设定每个资料表, 使用独立表空间储存资料, 即是每个资料表有属于自己的 .ibd 档案。 这样做的好处是对日后的管理较容易, 在 MySQL 5.6.6 开始, innodb_file_per_table 默认是开启, 而在 5.6.6 前的版本默认是关闭的, 要查询目前 MySQL 的 innodb_file_per_table …

Linux 用 rm 删除档案及释放硬盘空间

用 Liunx 的 rm 删除档案时, 如果档案的容量很细小, 通常看不到变化; 但如果档案的容量很大, 用 df 指令查看硬盘空间是没有释放, 但用 du 指令检视目录的使用量, 则没有计算已删除档案。 出现这个问题的原因, 是已删除的档案被其他 process 开启, 用 lsof 指令可以检视正在开启已删除档案的 process: # lsof | grep deleted 找到开启已删除档案的 …

列出所有 MySQL 数据库占用空间体积

当发现 MySQL / MariaDB 服务器的硬盘使用空间越来越多, 想找出那一个数据库占用最多空间时, 以前用 MyISAM 储存引擎时, 可以直接用 du 指令查看数据库目录。但如果是用 InnoDB 的话, 用 du 指令就没有用了。 要找出所有 MySQL 数据库的空间大小, 可以用 MySQL 的 root 帐号登入 MySQL CLI 或 PHPMyAdmin, …