上个月,2016 杭州云栖大会召开,阿里云宣布云产品全线打折,刚好我的服务器 12 月到期,顺手就购入三年,真的很便宜。
本站一直用的万网虚机,记不清几年了,原来的技术方案是 PHP + MySql
,新的服务器上,我准备部署 Node + MongoDB
,也就引发了这篇文章所述的事情。
站点上的东西不多,大多数都是纯静态内容,迁移起来很方便,资源路径替换替换也就好了,其它若干 PHP
页面,也都寻找最省事的方案,几个简单原则:
URL
保证全部可访问;基本思路是动静分离,借助 connect 模块 分配路由,使用 connect-modrewrite 中间件 做重定向:
/api/**
下的都是 JSON
或 JSONP
接口,使用 mongodb 模块 读写数据库,向全站所有应用提供数据服务;以前用的 WordPress
, 因为一年下来也没写两篇,基本接近荒废,纯静态就够用,现在换成 Hexo
,走线下编译。
搜索功能成了问题,本想在 /api/**
下做个服务,懒得写代码就放弃了,最终方案是借助 Hexo
的 hexo-generator-json-content 插件 生成 JSON
索引,改造 NexT
主题内置的 local-server
界面来达到目的。
Tracker 是我 2012 年写的一个工具,几年没有更新了,里面有部分 PHP
脚本,现在一一替换成 Node
,能够正常跑起来,里面的功能没有细测。
PS: 此工具后来被前百度同事集成到了 WEB 前端助手 这个 Chrome 插件中,并进行后续的维护,同时欢迎试用。
Rhymer 是前不久写的一个小应用,技术方案也是 PHP + MySql
,现在数据迁移至 MongoDB
,PHP
用 Node
全部重写。
最后,connect
如果没有命中所有地址规则,则响应一个 404 页面,该 404 页面的代码直接从老站点上搬过来。
由于技术方案差异,迁移过程中遇到一些小问题,不过都得到妥善解决:
mgdict 魔鬼辞典
是很早写的一个 PHP
应用,由于价值不大,改造有成本,最终放弃迁移,寿终正寢。(本文完)
Copyright© 2013-2020
All Rights Reserved 京ICP备2023019179号-8