TONYHEAD 通利堂

Cloudflare 免费版现已支持视频,音频和压缩文件的缓存了

Tony 提交于

9月12号以来一个在线电台的网站流量跌了很多,日志显示流量只是平时的 1/10,但访客数没有变化。上传了一个新的 mp3 文件测试,日志里没有回源,说明流量被CDN(Cloudflare)缓存了下来,但我记得以前 CF 并不会缓存 mp3 格式,找了一圈,发现 Cloudflare 关于文件缓存部分的说明发生了变化。

Note

The Free, Pro, and Business plans additionally support APK, EXE, DMG, BIN, ISO, ZIP, RAR, ZST, TAR, BZ2, 7z, GZ, MP4, MKV, AVI, WEBM, MP3, OGG, and FLAC file extensions.

https://developers.cloudflare.com/cache/about/default-cache-behavior

还支持 MP4 和 MKV,小主机在线看片不是梦。😁

9月12日开始流量陡然下降但访客数没有减少。

Cloudflare 给出的统计在 9月15日当天一度节省了 251GB 的流量,5-7 天内(今天是17号)综合节省了75%的流量,反推出该网站每月流量在 5-6 TB 左右。

该网站 YTD 的带宽是 15Mbps 左右,但 9月12日后已经小于 2Mbps,看来不用更换主机了,感谢 Cloudflare 为广大站长省钱。🤑

文章标签

如何在 MovableType 子站点启用干净搜索

Tony 提交于

多站台功能一直是 MovableType 的卖点,但实际使用中子站点在进行搜索和评论操作中会暴露 MT 后台的地址,无伤大雅但我们可以改进一下。

针对搜索功能,改进的方法包括:

  1. 不使用搜索,使用清晰的分类和完整的存档页面(小站点完全可以)。
  2. 人为弱化搜索结果页的设计感,尽量减少被访客加入收藏夹的机会。
  3. 使用第三方搜索引擎,对后台没有负担,但如果站点没有收录或者收录较少时效果就很差了。

在 MovableType 启用干净搜索的方法,在子站点的 Nginx 的 Rewrite 处加入:

location /search {
   proxy_pass http://127.0.0.1:5000;
   rewrite ^/search/(.*)$ /cgi-bin/mt/mt-search.cgi?search=$1&IncludeBlogs=22&limit=20 break;
}

Blogs=22 替换成 MT 子站点的ID,再修改一下 Search Widget 里的代码,使之匹配 /search/ 就可以了。

rewrite 很简单,但 proxy_pass 的引入可以很方便地令地址栏保持一致,再次感叹一下 PSGI 模式运行 的便利性。

相关链接

  1. 搞懂nginx的rewrite模块
  2. Nginx rewrite URL examples with and without redirect address
  3. Nginx Rewrite URL Rules Examples
  4. GET request without the question mark
  5. meme图

文章标签

升级到 Drupal 9

Tony 提交于

升级到 Drupal 9

Drupal 的🚂小火车已经来到 了 9 号车站,赶紧上车吧!

花了很多时间把 Drupal 9 升级搞懂了,目前网站从 8.9.11 升级到了 9.1.5,以下是大致的升级流程。

  1. ❗ 备份好 Drupal 8 的 Web 目录和 数据库
  2. 确保正在使用的 Drupal 8 模块都是有 Drupal 9 版本或者支持 Drupal 9 的,有工具但我用第9步里的方法 😉
  3. 寻找同类型的支持 Drupal 9 的模块来取代旧的模块,例如 TagClouds 可以取代 Tagadelic
  4. 对于不能割舍又没有对应 Drupal 9 的模块加入 core_version_requirement 标识,还有可能要改一些代码
  5. 在 settings.php 里加入 $settings['config_sync_directory'] = '/your-path-of-drupal/sync'; 并建立 sync 文件夹
  6. 把 Drupal 8 根目录下的 core 和 vendor 目录删除,把 sites 目录下的 simpletest 目录删除
  7. 下载 Drupal 9
  8. Drupal 9 解压后,把所有文件覆盖到原 Drupal 8 目录
  9. 浏览器打开 http://drupal/update.php,如果有错误提示回到第2步 debug 😨
  10. 如无错误表示升级完成
  11. 删除缓存,开门营业 🎉
  12. 如果你是老实人一个版本一个版本升级上来的还会遇到🕳 不能添加新内容的问题,解决方法在10楼和37楼(Drupal不流行不是没有原因的)

通过这次升级我还摸底了一下网站经过长期使用后所产生的变化,虽然有一些目前不能修复的地方,但都有绕过去的方法,总的来说对网站的整体结构是更加有把握的。

文章标签

如何提升 Windows 远程桌面的表现

Tony 提交于

现在我对电脑主机的划分慢慢从“专机专用”向“十项全能”发展,NAS 除了存储外还要担负日常远程桌面的功能,甚至希望可以满足每天都要玩一会游戏的需求(万智牌竞技场)。

目前我的 NAS 主机是 HP Elite 8380 CMT,E3V2+16GB+GTX 950,只接了网线和电源线,客户端是一个很“瘦”的 ChromBox,在我的认知里这些硬件是可以满足我的需求的。😊

默认的 Windows 远程桌面表现一般,办公聊Q没问题,但玩游戏不行,在想办法提升 Windows 远程桌面的性能之前我试过以下方法:

  1. GeForce Experience:失败。听说 GeForce Experience 的串流效果不错(可以串流 mstsc.exe 实在是没有想到),但是,GeForce Experience 很难登录,登录后发现,没有显示器的话并不能进行串流方面的设置。
  2. Steam 平台的 Steaming:失败。首先 Steam 上没有万智牌竞技场,其次客户机要玩 NAS 上的游戏时,需要在 NAS 上用物理设备按确定按钮,而我没有显示器和鼠标,卒。
  3. TeamVierwer:失败。这个做为实体电脑的远程桌面是可以的,但作为没有登录的 NAS 来说功能不如 Windows 原生的远程桌面。
  4. 向日葵:失败。免费版有 300KB/S 限制,而我在内网使用……
  5. 显卡欺骗器:失败。在拼多多上买的好像是坏的。😅

经过一翻搜索,发现在远程桌面里调用独立显卡其实是件很难的事情(需要 Active Directory + TS 终端服务 + TS 许可服务 + RemoteFX 主机 + Hyper-V 主机),但今年4月的时候,因为太多“working from home”的需求,NVIDIA 开放了在远程桌面启用 OpenGL 的功能,使得远程桌面下部分支持 OpenGL 的游戏也可以通过独立显卡进行渲染。

所以可以通过以下四步提升 Windows 远程桌面的性能:

  1. 按照这里的说明提升帧率,改善立竿见影
  2. 提高 mstsc.exe 网络优先级,当 NAS 上网络负担较重的时候可以优先保证远程桌面的吞吐,我用的是 NetLimiter Pro 😈
  3. 有3D游戏需求的可选:下载并安装 nvidiaopenglrdp.exe / 下载镜像
  4. 有3D游戏需求的可选:使用有线网卡而不是无线网卡连接路由器,因为在玩游戏的时候瞬时宽带会去到40MB/S或更高,或者把 mstsc 颜色调到16位或更低来减轻网络负担

设置完成后重启电脑,再启动万智牌竞技场,在任务管理器里就看到显卡的利用率上去了,并且游戏里面的操作跟本机的感觉很接近。

虽然万智牌竞技场的推荐配置只是 GTX 560,但没有进行这次性能提升前是卡得不能接受的,现在我不用开游戏主机也能完成游戏里的日常,使用感受提升了很多。😙

文章标签

更新了一下服务器环境

Tony 提交于

CentOS 7 自带的 Perl 太老了,很多 emoji 用不了,索性把系统升级为 CentOS 8。🤞

VestaCP 不支持 CentOS 8,所以又把面板改成了宝塔的开源版本 aapanel。开源版本没有宝塔账号那套东西,目前也没有收费的项目,用起来很爽气。🤸

Drupal 的 rewrite 和 MovableType 的 PSGI 模式需要额外设置一下,有文件管理器操作起来很是方便。🕺

经过若干小时的点点点操作,把网站都搬迁好了,就是目前你看到的这样。🤴

CentOS 7: This is perl 5, version 16, subversion 3 (v5.16.3) 2012年
CentOS 8: This is perl 5, version 26, subversion 3 (v5.26.3) 2018年

🍗好家伙,这次更了个跨 6 年的新,Unicode® 也从 6 升级到了 9,每次 Unicode® 更新都会新增很多字符,但除了 emoji 之外谁在乎呢?🤷‍♂️

文章标签

如何搭建无缝的 Blogger 网站

Tony 提交于

 目前(2021-11-02)可以使用的GHS IP:216.58.200.243 

假如你有一个域名,但不想为空间付费,不想操心博客程序,可以考虑托管到 Blogger.com 上。但基于众所周知的原因,访客是需要富强才能浏览的,我建立这个页面的目的(同样托管在 Blogger.com 上)就是教大家如何利用 Blogger.com 建立一个带搜索,带标签功能的完整的博客,并且是可以在墙内访问的。

注:这里的教程是不含评论系统的,如果需要评论系统,可以参考这里关于评论系统的部分。
 

在 Blogger.com 建站的步骤

  1. 在 Blogger.com 后台建立博客,并设置域名,例如 Tony 设置的域名是 blogger.tonyhead.com。
  2. 假如你想绑定 abc.com 的话,大多数情况下,要把 将 abc.com 重定向到 www.abc.com 勾选上,因为 Blogger.com 是不支持裸域的(浏览器输入 abc.com 是打不开网站的),所以宁愿让访客输入 abc.com 跳转到 www.abc.com ,而不是完全打不开网站。
  3. 在 DNS 托管商处解析域名,www 和 @ 记录都指向目前可以使用的 GHS IP 216.58.200.243
  4. 在 DNS 托管商处解析域名,可能有一个验证域名所有权的CNAME 需要设置。
  5. 回到 Blogger.com 选择一下是否要被搜索引擎索引。
  6. 关掉评论 设置 -> 博文、评论和分享设置。
  7. 调整时区 设置 -> 语言和格式。
  8. 挑选并应用主题。
  9. 把移动主题关掉 主题背景->打竖的三点水->移动设置。
  10. 把主题中的强外元素搬入强内,重复测试(这是一个最艰难的步骤,也是这个页面的重点内容)。
  11. Happy Blogging!

哪里可以找到 Blogger.com 主题

  1. https://btemplates.com/ 很多免费的
  2. https://newbloggerthemes.com/
  3. http://www.mybloggerthemes.com/
  4. https://gooyaabitemplates.com/

迁移/去掉主题的强外元素

这是这篇文章的重点,待我慢慢扩展,可以先参考下面的两篇文章。按文章里的说明做好以下4点就可以实现墙内无缝访问了。
 

文章标签

RKEM 诞生30周年

Tony 提交于

RKEM

2020年5月27号,是马士基航运基石系统之一 RKEM 诞生30周年纪念日。

在 RKEM 诞生的数十年前,船公司是用照片拍摄布满集装箱标识的地图来记录集装箱的移动,RKEM 的出现数字化了集装箱的流动(equipment flow),为日常工作的开展和集装箱调运提供支持和决策。

一些数字

  1. 微软的🎴纸牌游戏 Microsoft Solitaire 诞生于1990年5月22日。
  2. RKEM 在1990年5月28日上线,第一个记录是来自横滨的一个出口重柜进闸。
  3. 系统设计为可以管理 200000 个集装箱,但到今日为止,有超过 9000000 条记录(45倍于设计指标),任一时刻标记为活跃的集装箱(集装箱/车架/设备)有超过 4000000 个。
  4. 这 4000000 个集装箱中,有 3600000 个在承担运输的任务(in fleet)。
  5. RKEM 每星期会接收 2500000 个 gate move。
  6. RKEM 每星期会更新 500000 次集装箱状态。
  7. 马士基历史最悠久且仍在使用的集装箱是 APMU000009 ,是一个船上储存用的 20尺平板 gear box,诞生于 1990年5月27日。

看到这个柜子的时候真是吓到了,比很多人还要老。😆

RKEM 诞生30周年

RKEM 诞生30周年

“如果地球上最老的集装箱是30岁,那么在31年前,地球上的集装箱跟现在的集装箱,完全换了一拨。”

文章标签

如何利用又拍云 CDN 给 Drupal 加速

Tony 提交于

最近备案了一个仿蓝汛 CDN 的域名,当然是为了享受国内的 CDN 加速服务,例如又拍,七牛,各种 OSS。但我对七牛没什么感觉(单纯是名字不讨喜),各种 OSS 感觉又太重了,不值得为这个功能去记另外一套体系的东西,于是选择又拍云作为 CDN。

目前你访问 TONYHEAD 通利堂 的时候,只会从 tonyhead.com 上请求 index.php 和一个负责生成二维码的 qr.php ,其他的静态资源例如 .css .js .jpg 都会从又拍云 CDN cdn.tonyhead.com 处加载。这些静态资源其实都储存在 tonyhead.com,只是通过又拍云这个高速的中间人实现最优的内容投递。

访问路径大概是这样:访客  <->  ⚡又拍云 CDN⚡ <-> 源站 tonyhead.com

先在又拍云创建一个 CDN 空间,在 CDN 空间的设置里面:

  • 回源管理 需要添加源站地址如 www.tonyhead.com,端口 80,勾上协议跟随,又拍云会自动寻找位于 443 端口上的 HTTPS 端口。
  • 回源 Host 需要添加源站 www.tonyhead.com 以匹配 Drupal settings.php 里 trusted_host_patterns 的设置。
  • 源站资源迁移 建议勾上并配置一个又拍云云储存空间,当静态资源被第一次访问的时候,静态内容就会保存在这个空间里,访客会直接从又拍云 CDN 拉取这个文件,而不用每次都回源到 tonyhead.com 上。
  • 缓存配置 设置为全局缓存7天。
  • 性能优化成本控制图像处理 我没修改,用的都是默认。
  • HTTPS 可以申请免费的 Let's Encrypt 证书。

边缘规则 很重要要单独拿出来说说,我配置了一条规则,用来防止搜索引擎重复收录源站和又拍云 CDN 镜像站的 HTML 页面(想想看,作为网站主的你发现 www.tonyhead.com 和 cdn.tonyhead.com 的文章页居然是一样的时候是多尴尬的事情)。网上很多教程都是❌错的,或者效果不好(robots.txt 只能蒙搜索引擎,但访客依然有机会把镜像站的 URL 加入收藏夹),请用我这里的设置,原理就是告诉又拍云 CDN,当访客访问到非静态内容后缀的时候,跳转回源站。

简单来说,这个规则实现了这个功能:

文章标签

📚 页面/专题/手册

🏷️ 标签云