1核1G的小鸡怎么跑 MySQL?记一次 MariaDB 的极限内存压榨

手里有一台极其廉价的 1核 1G 内存的 VPS,跑了一个 WordPress。最近只要稍微有点访问量,系统就会因为内存耗尽触发 OOM,直接把数据库进程杀掉,导致网页报 “Error establishing a database connection”。 ...

2024-09-12 · 4 分钟 · Moxuan

用 Nginx 给静态博客加速的完整配置

我的博客是用 Hugo 生成的静态站点,生成之后就是一堆 HTML、CSS、JS 和图片文件。这种静态站点最适合用 Nginx 直接托管,速度快、配置简单、资源占用低。 ...

2024-09-05 · 3 分钟 · Moxuan

谁在偷我的带宽?用 Nginx 漏桶算法限流防恶意爬虫

本来在查资料,结果发现自己博客图片刷不出来了。看了一下账单,好家伙,CDN 流量半小时跑了 5G。 日志拉下来一分析,某个爬虫正在丧心病狂地遍历下载我博客所有的附件目录,而且 User-Agent 伪装成了正常的 Chrome 浏览器,靠封 UA 根本封不掉。 ...

2024-08-25 · 3 分钟 · Moxuan

Nginx 反向代理踩坑:跨域资源共享 (CORS) 报错怎么破

今天在给一个前后端分离的项目配置 Nginx 反代时,前端控制台一片红,全都是 CORS Error。前端的请求发到了 api.example.com,而后端服务跑在 localhost:8080,域名不一样,浏览器的同源策略就把请求拦截了。 ...

2024-08-15 · 3 分钟 · Moxuan

Docker Compose 部署常用服务总结

刚开始用 Docker 的时候,我写了一大串 docker run 命令,参数又多又乱,后来想改个端口或者加个环境变量,得翻半天历史记录。自从换成 Docker Compose 之后,部署和管理容器变得舒服多了。 ...

2024-08-08 · 3 分钟 · Moxuan

容器间连不上?深入剖析 Docker Bridge 网络的 DNS 坑

我手起刀落用 docker run 跑了一个 PHP 应用的容器,又用 docker run 跑了一个 MySQL 的容器。在配置 PHP 连数据库时,我填了 MySQL 容器的名称 db_mysql,结果死活报错:Unknown MySQL server host 'db_mysql'。 ...

2024-07-22 · 3 分钟 · Moxuan

用 rsync 无感迁移 100G 网站数据到新的服务器

前段时间我打算把主站迁到一台新的 VPS 上。旧机器用了两年多,配置有点跟不上了,而且同价位的新机器性能更好一些。迁移前最头疼的就是数据怎么搬:网站文件、用户上传的图片、数据库备份,零零散散加起来有 100G 左右,而且文件数量特别多,小文件占了大头。 ...

2024-07-18 · 4 分钟 · Moxuan

VPS 磁盘爆满报警,记录几个极其好用的 Docker 清理命令

早上服务器的监控脚本发来预警,说这台 20G 硬盘的小机器可用空间不足 5% 了。 登上去用 df -h 一看,确实快满了。顺着用 du -sh /* 往下扒,发现罪魁祸首是 Docker 的目录 /var/lib/docker,占了 15G 多。平时瞎折腾拉了一堆镜像,旧容器删了但悬空镜像还在占空间,还有各种构建缓存和数据卷。 ...

2024-07-05 · 4 分钟 · Moxuan
已复制到剪贴板