跳转到主要内容

升级到 Drupal 9

Tony 提交于 周日, 2021-03-14 - 22:48

升级到 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 提交于 周六, 2020-12-26 - 21:37

现在我对电脑主机的划分慢慢从“专机专用”向“十项全能”发展,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 提交于 周一, 2020-10-26 - 15:42

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 之外谁在乎呢?🤷‍♂️

文章标签

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,当访客访问到非静态内容后缀的时候,跳转回源站。

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

文章标签

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

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

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

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

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

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

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

文章标签