开源实例之Kubernetes 前言 Kubernetes, also known as K8s, is an open-source system for automating deployment, scaling, and management of containerized applications. Kubernetes,发音是[kubə'netis],常被简称为 K8s,即 k + 中间8个字母 + s。这种极客命名,另一个知名例子是多语言软件常见的 i18n(internationalization)。 Kubernetes 源于希腊语,有“舵手”的意思,正如它的 logo 是一个船舵。 官网地址是:https://kubernetes.io Kubernetes的发展 Kubernetes 起源于 Google 内部项目,在 2014 年被正式开源。在 Docker 开始爆火的时期,Kubernetes... 2022-12-05
开源实例之多项目部署方案 前言 目前部署的开源实例都是 LNMP 架构,在没有并发的情况下,不会随着项目数量增加而导致系统负载显著提高。但想要部署编译型(常驻内存)实例,几个项目就不够用了。 如果这个问题不解决,本系列大概就要降级为 “PHP 和 JS 开源实例系列”,有点违背初衷。所以我将所有实例重构成了容器实现,在上个周末完成了架构方案。 部署方案 关键思路就是容器部署项目实例,并且能够定期销毁、自动重建。主要用到了 Docker、PHP webman 和 Nginx。 Docker 使用 Docker 做容器化部署。通过 docker-compose 编排,一个项目整合成一组容器。比如 WordPress 实例,包含了 LNMP 容器组和自身的代码容器。这样做的好处是方便隔离和回收,同时一整个项目只需要暴露一个 WEB 端口。 关于 Docker 配置细节会单独写一篇文章介绍:开源实例之Docker。 web... 2022-11-29
打开B站,收到通知说我的视频增加了多少播放和点赞。那个视频是以前文章里的,因为文件较大,传到B站当图床用了。没再去关注过,想不到还有自然流量。 挺有意思的,想起郭老师说的“你不知道哪片云彩有雨”。凡事想做就早点去做吧,总会随着时间有所积累。 2022-11-24
开源实例系列 前言 作为一名技术,自然对开源世界心向往之。常有朋友问我如何搭建博客,WordPress 怎么样。我想最好就是生成一个实例,让他们亲身体验前后台的使用,客观了解是否适合自己。推而广之,我希望将各种知名的开源项目部署在相同服务器上展示。一方面可以宣传开源,另一方面让大家在同等条件下直观地对比各种系统。 本篇为开源实例系列文章的导航页。 个人实例 动态博客 WordPress Typecho emlog Z-Blog Halo Drupal JPress Tale Ghost Mblog Serendipity FlatPress Chyrp NiceFish laravel-bjyblog My-Blog mayday Firekylin CoreBlog BootDo Bolo ModStartBlog HTMLy ForestBlog ZrLog Apache Roller Pebble... 2022-11-18
macOS 根目录创建软链接 macOS 从某个系统版本开始,禁止在根目录创建目录和文件了。关闭 SIP (System Integrity Protection) 等方法早已失效。今天发现了新的解决办法,亲测有效: 创建 /etc/synthetic.conf 文件,写入软链接,例如: backup /Users/data/backup 左侧是软链接目录,前面不写“/”; 右侧是源目录路径; 中间由 tab 键分隔。 重启即生效。 2022-11-15
糟心的丰巢快递柜 丰巢快递柜带给我的不爽已经好几年了,今天上午处理了一件相关的事情,实在要吐糟一下。 我平常是周五去富阳爸妈住的家里,周一回余杭自己住的小区,这是背景。 最开始快递包裹都是送上门的,这也是大家默认的情况。后来小区引进了丰巢快递柜,包裹不再送上门,要自己下去取。那时快递柜不收保管费,即便自己跑一趟,也就忍了。但是再后来,快递柜要收取滞留保管费了,当时也是网上的热点,这就非常令我不爽了。因为我周末不在小区,临近周末投递的包裹,等周一晚上回来都已经超时了。 钱是小钱,问题是凭什么。快递柜方便了快递员投放,但是把“最后一百米”转嫁到买家身上,然后还要为保管费买单? 最开始我的应对就是不取件。那个快递员投放,过了几天取出,然后再投放,过了几天又取出,最后还是送到我家门口了。这个事情也只发生了那么一次,因为我心软了,实在不想去为难一个快递小哥。 后来发现公众号里面可以设置禁止投放快递柜,我设置后很长一段... 2022-11-14
我记忆还停留在 AWS 免费服务器每月 15G 流量的限制,因此还专门写了脚本监控流量,以防破产。结果今天才查到,早在 2021 年 12 月已经提高到每月 100G 流量了,四舍五入就是无限流量! Data Transfer from AWS Regions to the Internet is now free for up to 100 GB of data per month (up from 1 GB per region). This includes Amazon EC2, Amazon S3, Elastic Load Balancing, and so forth. The expansion does not apply to the AWS GovCloud or AWS China Regions. 从 AWS 区域到互联网的数据传输现在免费提供,每月最多可传输 1... 2022-10-28
应对 DDoS 攻击的防御策略 1. 背景 本站部署在腾讯云,并使用了云盾CDN。本月到现在被 DDoS 攻击两次,造成总停服时长 12 个小时。 10 月 5 号,详见:《被 DDoS 攻击导致封停了六小时》 10 月 20 号,详见:《这个月第二次被 D 了》 2. 攻击分析 攻击者应该是很熟悉腾讯云的,使用 UDP Flood 攻击,每次只攻击两分钟,攻击带宽峰值远高于腾讯云的基础防护 2Gbps。 攻击开始后立即引起腾讯云的 ip 封堵,腾讯云的理由是: 通常发生大流量攻击时,运营商考虑网络稳定性因素会进行封堵,从而避免攻击影响到其他未被攻击的用户,保障整个云平台网络的稳定。 两分钟的攻击就可以造成 6 个小时的封堵。找腾讯云客服咨询,购买高防产品才可以自助解封,否则只能等待到期后自动解封。 3. 官方策略 咨询腾讯云客服,给出了两套策略。 3.1 购买高防产品 客服给出的第一个建议就是购买高防产品。但作为个人网... 2022-10-21
互访功能页性能优化探索 我的主力电脑是 4 核 i7 16G MacBook Pro,所以我用互访功能页开几十个页面是没压力的。收到有些博友反馈打开页面太多电脑卡死,我并不能理解。直到昨晚,我找出 2 核 i3 4G 的笔记本跑了一下,果然卡。因此有必要对互访的性能做进一步优化了。 理想的逻辑是,一次只打开 5 个页面,其他在队列中等待,每加载完一个网站,关闭当前页,打开队列中另一个网站。这样浏览器同时最多只会存在 5 个页面占用。但尝试了一下,这个方案目前无法实现,因为跨域问题。 一、窗口对象 直接用 window.open 对象,无法监听加载状态, onload 会发生跨域错误。 二、iframe 嵌入 iframe 可以 onload 监听目标网站加载状态。但问题是,如果目标网站设置禁止被嵌套,就无法访问,但也返回加载完成,这样无法正确判断网站实际上有没有被打开。 目前没有找到解决办法,只是逻辑上调整了一下... 2022-10-19
数据安全警示 博友林羽凡最近遇到糟心事,硬盘损坏,1T 的数据可能丢失——《数据恢复,我已经不抱希望了》。 这种痛苦可以感同身受,也是给我们非常重要的数据安全警示。其中,代码没有异地备份我觉得特别可惜。 这个世界上没有什么东西是完全可靠的,更不用说物理意义上的可靠,万事万物都会消亡的。我之前也遇到过好几件莫名其妙的事情。小的来说,常用的 U 盘突然不能用了,幸亏有备份;大的来说,就发生过一次危险,开车过程中电瓶突然烧了,最后叫了救援。 作为开发来说,代码是最重要的资产。我对代码的备份是非常看重的,做了多重保障: 随时提交代码,改一点就提交 多台电脑上定时打包源代码,做冷存储 在不同的网站建仓库,做多地容灾 服务器每天定时备份代码和文件 服务器每天打快照 希望大家都养成备份的习惯。数据的意义远大于机器。 2022-10-14