不知道为什么,一个整天和技术打交道的 geeker,他的博客却是有关情绪与生活。
最近有蛮多朋友问我有关这个网站是如何做的,某些技术点是如何实现的,复刻的方法有没有走弯路等等。鉴于当时对于这些问题的回答都较为片面,所以打算写一篇文章来阐述有关这个网站的开发历程,也算是有了第一篇和技术有关的博文。
2022 年 3 月底,随着文件夹的新建,我的个人网站正式从 0 开始了建设,皆基于平日闲暇时间开发。后端为了方便选用的 php8,也确实有不少性能上的改进。
首个版本于同年 4 月的第一天,正式上线,当时仅有首页、博客和关于我,并全是静态内容,不含后端。随后,在 4 月的第三天我上线了用户及评论系统,支持用户注册、登录、找回密码,以及评论。采用前后端分离架构,通过 AJAX 通信。
随后,由于当时大火的 MBTI 测试,我开始打算在自己博客上开发一个九型人格的测试及分析项目。我相信在人类历史发展长河中,我们已渐渐开始从物质文明转为精神文明建设,这也是 know-yourself 板块创建的一大缘由。这个项目于 4 月 11 日开始内测,并于 19 日正式上线,也尝试投了 Google Ads,期待让更多的人 know-themself,而后了解作者,妄图以此寻找共鸣及认可。
但事实证明这是理想化的,借助统计分析发现,快餐时代的人连文字较多的专业报告都难以善终,更别说了解整个网站了。所以在完善后,决定将项目转为免费+付费制,其盈利用于广告投放而复利。至此,于同年 5 月 9 日正式接入支付宝与微信支付,开发并完善了统一支付系统。在这个过程中,也完成了网站后台的开发。
由于不太想写静态博客,故开发了一言板块,并于同年 5 月 22 日正式上线。随后同年 6 月的第一天,将博客系统更新为了动态,依靠 Nginx 重写功能(伪静态)实现虚拟路径访问。
现在,开摆了。
出于爱屋及乌,网站的前后端框架均为自己开发的 gQuery,这个框架生态已经同我走过数年历程,期间经历了大大小小 50 余次更新迭代,一些我曾负责开发的政企网站或软件里也有 gQuery 的身影。但一直自己开发轮子也终究是不太现实的,对于某些特定需求,使用了以下开源组件。前端有:
需求 | 组件 |
---|---|
触摸滑动 | Swiper 7 |
图表 | ECharts 5 |
3D | Babylon 5 |
富文本编辑器 | WangEditor 5 |
图片压缩 | localResizeIMG |
图片裁剪 | Cropper 1.5 |
图标库 | Tabler Icons |
后端有:
需求 | 组件 |
---|---|
匿名邮箱过滤 | mailchecker |
发送邮件 | phpmailer |
支付聚合 | easypay |
运行在 Debian 系统下,使用的技术栈为 Nginx 1.2、PHP 8.1、MySQL 8.0、Redis 6.2。
CDN 使用阿里云的"DCDN 全站加速",邮件服务器使用阿里云的"邮件推送"。
在开发上因为都选的较为熟悉的技术栈,并没遇到什么问题,另外 90% 的问题依靠搜索引擎也能很快解决。比较麻烦的还是支付对接,国内两巨头没得选,国外各方面对比后得出两家:Paypal 和 Stripe,后者虽然崛起较快,但对内陆用户不友好,故还是选择老朋友 Paypal。
注册后过了一周仍未通过,致电联系后才得知是那边疫情管控人手不足,说会标注加急以解决。次日便审核通过了,开发对接起来很容易,但管理比前些年严格了,会对新注册的账号做资金冻结,尽快获得资金需要:
另外一个坑就是微信支付和银行公户了,众所周知建设银行的洗钱反黑一直查得很严,例如在 21 年玩加密货币的时候,我就被风控掉了一张建行的借记卡。所以当我用微信支付对接了一些零碎的项目后,微信支付的 T+1 自动结算便每天都会给账户主体绑定的银行公户打款。So,这种金额不大但很琐碎的流水引起了建行领导的注意。不过还好,后续解释一番这事也就过了,但微信支付的结算周期竟然不能自己更改,气抖冷。
# 暂时先写到这里,之后有空再更新一下。