<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>服务器运维 on Moxuan's Blog</title><link>https://blog.moxuan.de/categories/%E6%9C%8D%E5%8A%A1%E5%99%A8%E8%BF%90%E7%BB%B4/</link><description>Recent content in 服务器运维 on Moxuan's Blog</description><image><title>Moxuan's Blog</title><url>https://i.postimg.cc/7hwBy7VS/calcr.png</url><link>https://i.postimg.cc/7hwBy7VS/calcr.png</link></image><generator>Hugo -- 0.154.3</generator><language>zh-cn</language><copyright>©2023-2026 moxuan</copyright><lastBuildDate>Tue, 31 Dec 2024 21:10:00 +0800</lastBuildDate><atom:link href="https://blog.moxuan.de/categories/%E6%9C%8D%E5%8A%A1%E5%99%A8%E8%BF%90%E7%BB%B4/index.xml" rel="self" type="application/rss+xml"/><item><title>谁在偷我的带宽？用 Nginx 漏桶算法限流防恶意爬虫</title><link>https://blog.moxuan.de/posts/nginx-limit-req-zone-anti-crawler/</link><pubDate>Tue, 31 Dec 2024 21:10:00 +0800</pubDate><guid>https://blog.moxuan.de/posts/nginx-limit-req-zone-anti-crawler/</guid><description>&lt;p&gt;&lt;strong&gt;年底的突发流量&lt;/strong&gt;
本来在查资料，结果发现自己博客图片刷不出来了。看了一下账单，好家伙，CDN 流量半小时跑了 5G。
日志拉下来一分析，某个爬虫团队正在丧心病狂地遍历下载我博客所有的附件目录，而且 User-Agent 伪装成了正常的 Chrome 浏览器，Fail2ban 根据 UA 封不掉。&lt;/p&gt;</description></item><item><title>根目录满了怎么扩容？利用 LVM 动态扩展磁盘容量实录</title><link>https://blog.moxuan.de/posts/linux-lvm-logical-volume-expansion/</link><pubDate>Sat, 28 Dec 2024 09:40:00 +0800</pubDate><guid>https://blog.moxuan.de/posts/linux-lvm-logical-volume-expansion/</guid><description>&lt;p&gt;&lt;strong&gt;磁盘报警&lt;/strong&gt;
机房一台老的虚拟服务器跑业务跑了半年，日志把 &lt;code&gt;/&lt;/code&gt; 根目录直接撑爆了。在控制台花钱给硬盘买到了 40G，但重启进系统一看，&lt;code&gt;df -h&lt;/code&gt; 还是显示 20G，因为新加的空间系统根本不认。&lt;/p&gt;</description></item><item><title>容器间连不上？深入剖析 Docker Bridge 网络的 DNS 坑</title><link>https://blog.moxuan.de/posts/docker-network-dns-troubleshooting/</link><pubDate>Sat, 14 Dec 2024 20:50:00 +0800</pubDate><guid>https://blog.moxuan.de/posts/docker-network-dns-troubleshooting/</guid><description>&lt;p&gt;&lt;strong&gt;容器互联的困境&lt;/strong&gt;
我手起刀落用 &lt;code&gt;docker run&lt;/code&gt; 跑了一个 PHP 应用的容器，又用 &lt;code&gt;docker run&lt;/code&gt; 跑了一个 MySQL 的容器。在配置 PHP 连数据库时，我填了 MySQL 容器的名称 &lt;code&gt;db_mysql&lt;/code&gt;，结果死活报错：&lt;code&gt;Unknown MySQL server host 'db_mysql'&lt;/code&gt;。&lt;/p&gt;</description></item><item><title>1核1G的小鸡怎么跑 MySQL？记一次 MariaDB 的极限内存压榨</title><link>https://blog.moxuan.de/posts/mysql-mariadb-memory-optimization/</link><pubDate>Sat, 02 Nov 2024 16:20:00 +0800</pubDate><guid>https://blog.moxuan.de/posts/mysql-mariadb-memory-optimization/</guid><description>&lt;p&gt;&lt;strong&gt;资源报警&lt;/strong&gt;
手里有一台极其廉价的 1核 1G 内存的 VPS，跑了一个 WordPress。最近只要稍微有点访问量，系统就会因为内存耗尽触发 OOM，直接把数据库进程杀掉，导致网页报 &amp;ldquo;Error establishing a database connection&amp;rdquo;。&lt;/p&gt;</description></item><item><title>服务莫名其妙退出？善用 journalctl 查看系统底层日志</title><link>https://blog.moxuan.de/posts/linux-journalctl-debug/</link><pubDate>Tue, 15 Oct 2024 18:00:00 +0800</pubDate><guid>https://blog.moxuan.de/posts/linux-journalctl-debug/</guid><description>&lt;p&gt;最近挂在后台的一个自己写的 Python 监控脚本老是莫名其妙挂掉，重新启动过段时间又没了。看它自己的输出也看不出什么问题。&lt;/p&gt;
&lt;p&gt;最后老老实实用系统级的日志工具来查。因为我是把它做成了 &lt;code&gt;systemd&lt;/code&gt; 的守护进程运行的，所以直接用 &lt;code&gt;journalctl&lt;/code&gt; 命令：&lt;/p&gt;</description></item><item><title>VPS 磁盘爆满报警，记录几个极其好用的 Docker 清理命令</title><link>https://blog.moxuan.de/posts/docker-disk-space-clean/</link><pubDate>Sun, 14 Jul 2024 09:30:00 +0800</pubDate><guid>https://blog.moxuan.de/posts/docker-disk-space-clean/</guid><description>&lt;p&gt;早上服务器的监控脚本发来预警，说这台 20G 硬盘的小机器可用空间不足 5% 了。&lt;/p&gt;
&lt;p&gt;登上去用 &lt;code&gt;df -h&lt;/code&gt; 一看，确实快满了。顺着用 &lt;code&gt;du -sh /*&lt;/code&gt; 往下扒，发现罪魁祸首是 Docker 的目录。平时瞎折腾拉了一堆镜像，旧容器删了但悬空镜像还在占空间。&lt;/p&gt;</description></item><item><title>Nginx 反向代理踩坑：跨域资源共享 (CORS) 报错怎么破</title><link>https://blog.moxuan.de/posts/ginx-reverse-proxy-cors/</link><pubDate>Tue, 09 Jul 2024 20:10:00 +0800</pubDate><guid>https://blog.moxuan.de/posts/ginx-reverse-proxy-cors/</guid><description>&lt;p&gt;今天在给一个前后端分离的项目配置 Nginx 反代时，前端控制台一片红，全都是 &lt;code&gt;CORS Error&lt;/code&gt;。&lt;/p&gt;
&lt;p&gt;分析了一下，前端域名和后端接口的域名不一样，浏览器处于安全机制把请求拦截了。&lt;/p&gt;</description></item><item><title>服务器遭遇疯狂 CC 攻击，祭出 Fail2ban 封禁恶意 IP</title><link>https://blog.moxuan.de/posts/fail2ban-protect-nginx-ssh/</link><pubDate>Tue, 11 Jun 2024 11:15:00 +0800</pubDate><guid>https://blog.moxuan.de/posts/fail2ban-protect-nginx-ssh/</guid><description>&lt;p&gt;&lt;strong&gt;被制裁的早晨&lt;/strong&gt;
早上起来发现博客打不开了，登进终端一看，Load Average（系统负载）飙到了 15。&lt;code&gt;top&lt;/code&gt; 命令一看，Nginx 进程占了 99% 的 CPU。
用 &lt;code&gt;tail -n 100 /var/log/nginx/access.log&lt;/code&gt; 一看，某个段的海外 IP 正在以每秒几百次的频率狂刷我的查询接口，典型的 CC 攻击。&lt;/p&gt;</description></item><item><title>服务商跑路前夕，用 rsync 无感迁移 100G 网站数据</title><link>https://blog.moxuan.de/posts/rsync-server-migration-guide/</link><pubDate>Mon, 20 May 2024 21:40:00 +0800</pubDate><guid>https://blog.moxuan.de/posts/rsync-server-migration-guide/</guid><description>&lt;p&gt;&lt;strong&gt;刺激的突发事件&lt;/strong&gt;
在某个论坛买的年付便宜 VPS 突然收到发卡商的群发邮件，说由于上游机房问题，服务器可能在 48 小时后断网清退。机器上还挂着我好几个在跑的数据采集项目，大概有 100G 的碎文件。
如果用 &lt;code&gt;scp&lt;/code&gt; 或者 &lt;code&gt;sftp&lt;/code&gt; 慢慢拖，这破线路的速度估计传完机器都停机了。必须上增量同步神器：&lt;code&gt;rsync&lt;/code&gt;。&lt;/p&gt;</description></item><item><title>手里的小鸡越来越多？部署 Uptime Kuma 给全员上探针</title><link>https://blog.moxuan.de/posts/uptime-kuma-server-monitoring/</link><pubDate>Fri, 05 Apr 2024 16:30:00 +0800</pubDate><guid>https://blog.moxuan.de/posts/uptime-kuma-server-monitoring/</guid><description>&lt;p&gt;&lt;strong&gt;为什么需要监控？&lt;/strong&gt;
最近沉迷在 NodeSeek 上捡垃圾，手里不知不觉攒了七八台各地的便宜 VPS。有些线路极其不稳定，动不动就掉线。平时要靠自己手动去 PING 看看死没死，效率太低。
为了解放自己，决定部署目前开源界最火的监控面板：Uptime Kuma。&lt;/p&gt;</description></item><item><title>服务突然 502？排查 Linux 'Too many open files' 报错踩坑日记</title><link>https://blog.moxuan.de/posts/linux-too-many-open-files-fix/</link><pubDate>Wed, 28 Feb 2024 09:45:00 +0800</pubDate><guid>https://blog.moxuan.de/posts/linux-too-many-open-files-fix/</guid><description>&lt;p&gt;&lt;strong&gt;故障现场&lt;/strong&gt;
昨天半夜，挂在 VPS 上的一个高频采集脚本突然停止工作，Nginx 前端直接报 502 Bad Gateway。
登进服务器看了一眼 CPU 和内存，都非常空闲。去查服务的错误日志，发现满屏都是夺命报错：
&lt;code&gt;Accept error: accept: Too many open files&lt;/code&gt;&lt;/p&gt;</description></item><item><title>看了一眼 auth.log，被扫端口的脚本哥整破防了，火速改用密钥登录</title><link>https://blog.moxuan.de/posts/vps-ssh-key-login/</link><pubDate>Mon, 12 Feb 2024 19:30:00 +0800</pubDate><guid>https://blog.moxuan.de/posts/vps-ssh-key-login/</guid><description>&lt;p&gt;今天闲着没事，登录服务器 &lt;code&gt;tail -f /var/log/auth.log&lt;/code&gt; 看了一眼，好家伙，满屏的 &lt;code&gt;Failed password for root&lt;/code&gt;。估计是哪个无聊的脚本在盲扫 22 端口暴力破解密码。&lt;/p&gt;
&lt;p&gt;虽然我的密码挺复杂的，但天天被人这么敲门也烦。干脆把密码登录关了，强制改用 SSH 密钥。&lt;/p&gt;</description></item></channel></rss>