欢迎光临散文网 会员登陆 & 注册

LDTstore.com.cn Changelog(划掉)重大更新ReleaseNote

2021-08-16 07:39 作者:进栈检票  | 我要投稿

本次更新之重大可谓脱胎换骨,准备了很久,所以有可能出现列举不全的情况()

全局

将所有与网站服务相关的文件从/root转移到/server,并继之前移出cert,进一步将wwwroot也移出nginx文件夹。

这里多解释两句。最早网站的需求特别简单,所以我的设想是将所有与网站相关的文件都放在一个nginx文件夹,然后每次更新的时候先停止nginx,然后直接下载并删除旧的包含日志的文件夹,最后上传新的。这被我称为部署-回收机制,好处是在简单的情况下方便卫生,日志与所有其他文件一一对应。但后来随着网站功能越来越复杂,尤其是在本次更新以后各个功能逐渐分化出来,这种机制使得nginx和各个功能耦合在一起而不方便更新的问题逐渐变得突出。这次更新之后nginx配置文件本身需要的更改也变得很少,只有增加新的功能时才会去改动一下。(之前重定向路径也hardcode在nginx配置文件里,现在也作为服务独立出去了。)所以现在还需要还保持这种强对应关系的,只有nginx的日志及配置文件了。于是我决定以后nginx的日志及配置文件仍然走部署-回收流程,nginx配置文件仍然保持用版本号区分版本的设定;其他目前包括页面和重定向服务的功能都在各自的文件夹里单独部署,反正也没有东西需要回收。

nginx相关(配置文件版本0.4.0)

- 由于全局改动,以nginx用户而非root用户运行nginx(所以之前没办法user nginx其实是个很低级的错误,放在root的用户文件夹里可不是访问不到,之前没想通)

- 增加请求限制措施,全局限速10请求每客户端每秒,并在测试环境下经过压力测试证明有效

- 移除所有在配置文件中的重定向路径,增加对新增重定向服务的反向代理配置

- 增加对新增静态资源服务器的重定向规则(暂时还没用上)

重定向相关

- 用Rust实现了一个通用的轻量级HTTP重定向服务(https://github.com/stackinspector/http-redirector),能够在启动时下载重定向路径列表文件并解析,这样更新重定向路径就只需要修改存储库中的路径列表文件,然后重启服务即可(通过jsdelivr加载路径列表文件)。未来这个服务作为独立项目可能会添加可选的通过HTTP API触发的热更新功能,但综合考虑安全性和增加的复杂度,不会在LDTstore网站中启用。

- 增加了YouTube、喵喵折、爱发电赞助三个平台账号的重定向路径

页面构建系统相关

- 用Deno/TypeScript实现了一个简单可扩展的静态页面构建系统(存储库里的/build/build.ts),能够在模板页面中插入HTML/CSS/JS片段(因为现阶段CSS和JS都很短,所以选择仍然直接嵌入页面),并可以包含动态生成HTML片段的函数(目前那一排按钮就是根据/build/buttons.yml动态生成的,大幅提高了可维护性),并在最后缩短HTML并在开头加入注释,包含版权信息和替代版本号区分版本的commit hash。目前的流程是在本地运行构建脚本再上传,未来考虑把构建流程转移到GitHub Actions。

这检票真能造轮子

页面静态资源相关

- 将页面图片资源放置在了单独的存储库中,统一通过jsdelivr加载

页面内容相关

- 站外官方账号部分增加了喵喵折账号,补充了YouTube账号的链接

- 增加了爱发电赞助按钮

- 调整了运营账号按钮的位置和相关文字

- 在页面底部增加了我和朋友@841973620的个人空间链接和项目主存储库链接

- 微调页面布局,并换用64px的滑稽果作为头图和favicon

封面:文件结构


LDTstore.com.cn Changelog(划掉)重大更新ReleaseNote的评论 (共 条)

分享到微博请遵守国家法律