Category: 运维
这几天,我发现我的一两个服务器过载(高于平常的CPU使用率),我查看了 Apache 日志,发现 ChatGPT Bot(也称为 GPTBot/1.0)和字节跳动 Bots(也称为 Bytespider)的访问记录。 您可以通过以下 BASH 命令检查访问您服务器的前 10 个 IP: #!/bin/bash awk '{a++}END{for(v in a)print v, a}' /var/log/apache2/*.log* | sort -k2 -nr | head -10 …
一直博客邮件回复通知等都是通过 zoho 邮箱完成的, 然而昨天在测试的时候由于在多台VPS同时发邮件, 导致触发了安全保护, 现在zoho已经不让我发送邮件了(可以接受). 查了一下他们的 Terms & Conditions, 发现果然邮箱不让发自动邮件 Automatic Emails. 联系客服无果(可能圣诞节放假没上班) 只能转战 Gmail, 随时一直用 PHPMailer 测试无法验证通过, 显示 SMTP: Could Not Authenticate 的错误. 一想, 可能是GMAIL安全要求过高, 可能需要把一些应用归到 “较不安全的程序中” …
我们都知道, 操作系统的端口Port同时只能被一个程序给占用, 如果端口已经被占用了, 那么就无法再对其使用, 除非先释放它. 在WINDOWS下, 我们可以通过两步骤来释放一个被占用的端口. 第一步就是通过 netstat -ano 命令来查看占用端口的进程ID, 参数 a 表示显示所有的链接和端口, 参数N表示用数字来显示地址和端口, 而参数O表示显示占用端口的进程PID. 运行该命令显示效果如下: # netstat -ano Active Connections Proto Local Address Foreign Address State PID …
不知不觉建了好多网站, 也维护多个VPS服务器好多年了, 经常会碰到服务器被多种不良爬虫攻击, 不管是否恶意, 每次并发访问大的时候, 服务器的CPU使用率就飙升. 这时候我一般都会分析APACHE日志来找出在同一时间并发访问的IP. 然后找到IP后就很简单了, 通过CLOUDFLARE的防火墙添加一条IP规则永久禁止该IP的访问. CLOUDFLARE是个很不错的保护, 因为你服务器的IP地址永远不会被泄露, 而CLOUDFLARE会在你的服务器和访问者之间过滤掉恶意的访问. 通过在LINUX下BASH的几个命令, cat, awk, sort, uniq, head 可以用管道把这几个命令用起来, 分析APACHE的日志脚本, 找出访问最多的几个IP地址. cat access.log | awk '{print $1}' | sort …
我们都知道 MYSQL中常见表格的引擎有两种: 一是MyISAM 另一种是 InnoDB (当然还有Memory, CSV等其它系统自带的类型). MyISAM 是5.5.1版本前默认的数据库引擎类型, 而5.5.1版之后所有新创建的表格默认类型就是 InnoDB 了. MyISAM 的优点是压缩比较大, 同时是整个表格锁定, 所以不太适合经常插入删除的表格. MyISAM 还不支持 Transaction, 在之前, MyISAM 的一大优点是支持 全文检索 Full Text Indexing 不过现在 InnoDB 也可以了. …
一直以来, 我都是用 PuTTY 一个窗口一个窗口来监视我所有的远程服务器. 总感觉非常的不方便, 特别是当远程链接断开需要再重新打开PUTTY. 一个PUTTY窗口只能链接一个SSH. 这下好了, 发现一款免费的SSH远程登陆软件 Termius: https://www.termius.com/ Termius SSH 软件的优势 该软件是跨平台的, 在智能手机, WINDOWS, LINUX, 安卓, iOS下都有相应的版本, 而且UI也很类似. 创建免费帐号, 然后就可以把所有主机链接的资料同步到你的其它设备中了, 相当的方便. 帐号两步验证, 安全性极佳. 和远程SSH窗口是用 TAB 标签的形式来管理的, …
朋友说, 网站挂了, 显示 无法连接 connection_refused 让我看看是啥原因, 毕竟这分秒就是钱, 于是马上登陆, 检查日志, 网站框架是 node + mongodb, 我发现 数据库挂了, 怎么也启动不了 $ sudo service mongd restart Unknown instance: 我看了一下 mongd的 日志: sudo vim /var/log/mongdb/error.log …