跳转到主要内容

RKEM 诞生30周年

Tony 提交于 周三, 2020-05-27 - 12:27

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 提交于 周二, 2020-03-24 - 19:21

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

目前你访问 TONYHEAD 通利堂 的时候,只会从 tonyhead.com 上请求 index.php 和一个负责生成二维码的 qr.php ,其他的静态资源例如 .css .js .jpg 都会从又拍云 CDN tonyhead.chinacachecdn.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,当访客访问到非静态内容后缀的时候,跳转回源站。

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

  1. 当访客访问 cdn.tonyhead.com/1.jpg 的时候,回源 www.tonyhead.com/1.jpg,并用 cdn.tonyhead.com/1.jpg 推送给访客(加速生效)。
  2. 当访客访问 cdn.tonyhead.com/about.html 的时候,触发边缘规则,浏览器收到 301 重定向跳转回 www.tonyhead.com/about.html(同时防止了镜像收录)。

下图 正则不匹配(不区分大小写) 后的那个 匹配值 截图不完整,贴到这里,可以根据自己的情况增加或删除后缀。   

.(jpeg|jpg|gif|png|css|js|svg|ico|zip|rar|7z|woff2)(.*)$

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

又拍云 CDN 那边就设置好了,接着配置 Drupal ,先下载一个 CDN 插件,这个插件会自动把页面元素的 URL 替换成指定的 CDN 域名 URL。再启用插件,在后台进行配置,把需要加速的静态文件后缀加上,又拍云 CDN 的域名加上,保存即可。

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

清空 Drupal 缓存,打开 F12 看看效果吧。🤓

文章标签

如何使用 Drupal 的视图功能为网站增加内容

Tony 提交于 周一, 2020-03-23 - 18:35

MovableType 从 7.0 版本开始增加了 「Content Type 内容类型」 这一概念,殊不知 Drupal 早于十二年前已经实现。

视图是 Drupal 的另一个核心功能,通过控制可以高度自定义字段的位置来生成内容页或区块,Drupal 比我见到过的任何 CMS 都更加灵活,下面我介绍一下如何给网站添加一个增加情趣的类似豆瓣的「书单」功能,0代码,全部功能通过点点点鼠标即可实现。

我的网站我做主!“脏”数据“脏”结构我乐意!😎

先来看看成果,这是我的书单页 —— 📚 Tony 书单,有个小下拉选项,可以筛选 想读/在读/读过 状态。而每个页面的左边有一个 “在读的书”区块,“筛选了按 最后发表 排序的 1 个状态为 在读 的来自内容类型为 书单 的结果”。

具体操作方法,先建立一个名为 书单 的内容类型,发布选项里面的 发布到首页 可以去掉,因为我不想书单条目进入博客的主信息流里,其他栏位随意。

Drupal 视图

在书单的内容类型下,建立若干个字段,例如 ISBN图书封面阅读状态豆瓣链接,悉随君便,我们稍后要用到这些字段来输出内容。

调整一下字段的位置,方便按自己的逻辑顺序输入内容,弄好后可以尝试创建一本「书」,编辑时后台大概长这样。(封面 那里实现得很脏,不过我乐意,0代码的代价🤣)

Drupal 视图

如法炮制创建了若干本书后,名为「书单」的内容类型就有「内容」了,这时我们再去视图里想办法把这些内容展示出来。

创建一个视图,显示 内容 类型为刚刚创建的 书单 ,生成一个页面 和 生成一个区块 都勾上,因为我们要生成一个展示所有书的页面和一个 在读的书 的小挂件,页面路径,是否生成 RSS 等选项可以稍后修改。

Drupal 视图

下一步,进入视图编辑状态,可以对着下图抄一遍,左上角显示的是目前在编辑 Page 页面 。

Drupal 视图

区块(小挂件)的设置,左上角显示的是目前在编辑 Block 区块。

Drupal 视图

注意的地方是编辑 Page 页面 的话,过滤条件里的设置也会影响到 Block 区块,所以在设置过滤条件的时候,选 (覆盖),就不会“传染”到邻居了。

Drupal 视图

操作都是很直观的,重复上面的话,“筛选了按 最后发表 排序的 1 个状态为 在读 的来自内容类型为 书单 的结果”,前几次用会感觉到迷糊,但成功设置过一次之后,就会觉得打开了新的大门一样。

回头再细细挖掘各个栏位,例如年底时可以通过过滤发布时间为 2020 年的读过的书,生成一个自己的 2020 年书单,没有做不到,只有想不到。😤

嗯就这样,这篇文章的目的就是督促自己看书和安利 Drupal ,遇到什么问题的可以留言共同研究。🤓

文章标签

宝塔面板安装 MovableType

Tony 提交于 周五, 2020-03-06 - 13:00

使用宝塔面板+ PSGI 的组合来运行 MovableType,默认用 Nginx 的组合进行安装,在软件商店里添加 Memcached 来提高性能。

宝塔面板安装 Movabletype

aaPanel应该也能用同样的方法操作。

安装 MovableType 需要的 perl 组件。

yum install -y perl-Cache-Memcached perl-Archive-Zip perl-XML* perl-YAML-Syck perl-Crypt-DSA perl-GD perl-Archive-Tar perl-Cache-* perl-Crypt-SSLeay perl-IPC-Run perl-DBI perl-DBD-mysql --skip-broken

安装 PSGI 环境。

这里需时较长,网络问题也会经常失败,重复执行直到提示都安装过了就行了。

yum install perl-ExtUtils* perl-Module-Build expat-devel gcc -y
curl -L http://cpanmin.us/ | perl - App::cpanminus

cpanm Plack
cpanm Task::Plack
cpanm XMLRPC::Transport::HTTP::Plack
cpanm Cache::Memcached
cpanm Cache::File

修改 Nginx 配置,mt 目录下的文件都交给 PSGI 处理。

回到 BT 面板,在需要运行 Movabletype 的 网站设置 里面,配置文件,在 Server {  里面加入以下,第一行的 /cgi-bin/mt/ 根据实际情况更改,以下设置为通过 abc.com/cgi-bin/mt/ 来访问 mt.cgi 。

location /cgi-bin/mt/ {
proxy_redirect off;
proxy_set_header    X-Forwarded-Proto $http_x_forwarded_proto;
proxy_set_header    X-Forwarded-Host  $host;
proxy_set_header    Host              $host;
proxy_set_header    X-Real-IP         $remote_addr;
proxy_set_header    X-Forwarded-For   $proxy_add_x_forwarded_for;
proxy_pass http://127.0.0.1:5000;
proxy_read_timeout 1200;
proxy_connect_timeout 1200;
fastcgi_read_timeout 600s;
}

重启一下 Nginx ,没有错误再继续往下做。

同时把 /www/wwwroot/abc.com/cgi-bin/mt/ 目录下的 mt-config.cgi 信息填好。

mt-config.cgi 长这样:

PIDFilePath /www/wwwroot/abc.com/cgi-bin/mt/mt.pid
CGIPath    http://abc.com/cgi-bin/mt/

ObjectDriver DBI::mysql
Database mt
DBUser mt
DBPassword 12345678
DBHost 127.0.0.1
MemcachedServers 127.0.0.1:11211

文章标签

购买 NAS 前的灵魂三问

Tony 提交于 周五, 2019-12-27 - 11:59

我知道有时候捡垃圾是真香,但毕竟钱不是天掉下来的,居所的条件也不能让人敞开来放机子,

所以我给自己设计了一系列问题来帮助自己做是否购买 NAS 的决定。

在思考这些问题的期间,我获得的乐趣和在闲鱼 Window Shopping 时是一样的,毕竟手头已经有一些储存设备,让我能从容地思考以下问题。

回到顶部

第一问:自己需要更多的储存能力吗?

先看看自己主力机上的 D 盘,E 盘 ,F 盘,百分比进度是不是已经红色了。

对我来说这个答案是否定的,我的台式机有一个 480G 的 SSD 作为 C 盘,一个用了不到 30% 的 2TB 的机械硬盘作为 D 盘。另外还有一个 3TB 的 NAS 作为电视盒子的补充,也只是用了 2TB 左右。所以购买了更多 NAS 的话,最多只是把 2TB 的台式机硬盘腾出来另作他用,而目前我没有需求和精力来实施任何计划。

不过我没有储存小姐姐的需求,也觉得很多节目在线看了就完了,娱乐节目在任何时候都有替代品,所以不会有很多视频文件的储存需求,这点应该跟这个网站的初衷是相反的。

回到顶部

第二问:NAS 能给自己带来什么?

真实的储存要求?更细致的下载机、视频处理、储存灾备分工?还是单纯地对硬件软件的喜爱?不折腾不舒服斯基?

很多人建立 NAS 的目的是组建家庭影院和备份照片,而我下载的豆瓣 TOP250 到现在还没看完,没有备份照片的需求(也不一定要通过 NAS 实现)。

所以折腾 NAS 对我来说主要是来自对“拥有某个硬件”的执念或者“把玩某个软件”的体验需求。

回到顶部

第三问:自己的技术栈可不可以驾驭 NAS?

不同于传统的 Windows 电脑,我们可以通过 重启重装重买 来解决软件硬件上的问题。

首先 NAS 上的数据是很难备份出来的(要买一个至少相同大小的桶),这就决定了重买不是一个很现实的选择。

其次重装的话,在不考虑高端的一揽子 NAS 解决方案(例如白群晖)为前提,我会问一下自己的技术栈:

  1. 能不能独立完成刷机
  2. 能不能够解决例如针对破解系统的每一次升级中有可能出现的 BUG
  3. 能不能定位并且替换损坏的零件
  4. 假如目前的 NAS 出现问题,能不能从零搭建一套有类似功能的替代品(例如整合下载套件,影音数据库,内网穿透等)

网上有很多大佬折腾 NAS 的文章,看着很有意思,但自己实践起来的话不多不少有坑是过不去的,自己是否做好了为之学习钻研的准备?

通过对以上问题的自我剖析,我的决定是先不买更多的 NAS ,直到硬盘装满或者硬件发生故障为止。

但是看到某些好玩的便宜小机器,还是会入手玩一下。😊

原文章地址:购买 NAS 前的灵魂三问

回到顶部

文章标签

一些小而美的 BSP 和博客程序

Tony 提交于 周三, 2019-11-13 - 16:07

虽然我已经很少更新博客了,但还是很喜欢看别人的作品,尤其是加入到围绕着一个主题而展开互动的人群之中。

BSP

  1. Typlog ,一个有写作后台的静态博客。6 刀一个月,60 刀一年(比 Fireside 便宜多了)。特色是支持播客。创始人 lepture 的访谈,Typlog 的简介在这里
  2. Bitcron,一个可作为博客使用的互联网渲染引擎,只需网页即能工作,支持 Markdown 语法,通过 Web、微信、Dropbox 一键发布博客。不同套餐有不同的资源。Bitcron 的简介在这里,创始人海波的自我解释
  3. Blogger,没错,就是那个 Blogger ,因为众所周知的原因所以我说她“小”,但现在已被爱好者研究出搭建无缝的 Blogger 站台,动手文章在这里这里。我的评价是在 Blogger 面前没有可以打的免费 BSP 。

博客程序

  1. Gridea,一个静态博客写作客户端,免费,目前有活跃的用户在制作主题。
  2. Yellow, 无数据库,没有后台的 CMS。
  3. Grav CMS, 文本数据驱动的内容管理系统。 看看 MovableType 老朋友 dimlau 是如何安利的。

文章标签