[持续更新]23C技术更新改造综合讨论贴

目前整个23C的网站体系逐渐被更新换代,我们会在这个帖子内更新我们的工作进展和讨论大家的反馈。

工作项目:

  • 23CWiki
  • 23世纪论坛

时间线

现在尚在开发的项目存放在 quincyovo.xyz,现在正式运营的项目还在主服务器。
未来将会有一段时间两个服务器都会运营正式项目。最后主服务器会被重新配置,OvO的内
容会被移植过去。

总体运维

目前的正式运营项目运行在CentOS 6.5上,而开发服务器用的Debian 10。CentOS和Debian本身倒没有好坏之分(说实话CentOS大概更好 狗哥哥请给我买一份RHEL),主要的优势是Debian 10有2019年的Liunx功能和安全更新。

Web服务器从Apache换成了Nginx,对于我们的场景来说(应该)更快,另外新站会实装HTTPS增加安全性(md都9102年了)。

不过最大的一个改变是我们所有项目都会用Docker。不太过于技术地描述的话,Docker能让我们更加容易地开发,测试,部署项目。Docker把一个大的项目根据服务/功能分割成小块,这些小块可以根据配置文件快速生成。另外,Docker的虚拟特性可以让某个买不起MacBook还只肯装WSL的穷逼开发在本地开发测试某些只能在Linux测试的内容。

23CW

简介

先介绍一下新Wiki的Logo,绿蓝黑色调代表的是绿地,蓝天,和太空。

替代文字

为了和现有项目23世纪百科区分开,我会一直用23CW来称呼新Wiki。

开发情况

23CW首先是版本的大幅度提升,MW本身从2015年发布的1.25版本升级到了今年的1.33,而PHP也从人间之屑PHP5换成了PHP7。新wiki用的MariaDB而不是MySQL,主要是有些比较有用的新功能,而且现在大部分wiki也是用MariaDB,出了什么事情比较好找支援。另外新Wiki实装了ICU,负责Unicode解码,加上各种没有列出的调整,应该会积累一个比较明显的性能提升。

功能添加

  • 短连接(wiki.23shiji.net/wiki/index.php/首页 -> wiki.quincyovo.xyz/首页)
  • 可视化编辑器(指哪打哪,就跟编辑PPT一样)
  • 数学公式
  • Elasticsearch(更加高级的搜索引擎,可以搜索词条内容和补全候选项等)
  • Redis(会快很多)
  • Semantic MediaWiki (传统wiki只包含文本信息,计算机无法对其进行理解和计算。SMW为wiki添加了语义注释(Semantic Annotations)数据,从而使wiki具有数据库的功能。 -THBWiki)
    [以后加了别的会更新上去]

关于Docker的讨论之延伸

23CW来说,之前的实现方式是所有东西直接扔到VPS里面,从数据库到php到mediawiki本身都在一个地方里面。虽说能用,不过一个东西出错大概会导致其他东西一起嗝屁,而服务器有其他项目的情况下直接取一个服务器快照也不是什么好办法,所以就比较麻烦。另外由于MediaWiki/PHP特别费,在本地(尤其是Windows)测试特别困难。而用Docker的话,23CW所需要的东西被尽可能地拆分成了小块,并装到"容器"里面。这是我们现在的一个配置:

  • PHP-FDM(负责处理PHP和MW本体运作,以及其他不能被拆开服务)
  • NGINX(负责处理网络请求)
  • MariaDB(负责数据库处理)
  • Node(负责各种前端魔法)

[预留楼层]

论坛

2019年10月28日更新

  • 实装论坛中文搜索
    • 基于Solr及其nodebb插件实现的中文搜索
  • 提高静态文件性能
    • 把/asserts下文件交给nginx处理

[施工中]

到时如何将23世纪百科的内容过渡到23CW?

@庄比 手动,并没有其他很好的方法。尤其是数据库schema是不一样的

@laoweek dumpBackup.php?

@viff[持续更新]23C技术更新改造综合讨论贴 中说:

dumpBackup.php

那东西只导出词条,其他东西全没了。尽管麻烦,其实真的想调的话可以导出再导入。不过我觉得新加了那么多功能词条写起来也会不一样,手动审核也许是个更好的选择。

登录后回复