2019年5月7日,博客网站正式上线,开发时间整整一周,在此纪念一下。
这篇博文主要会对此博客网站的开发技术做一个简单的介绍,下面开始切入正题。
从域名购买到网站上线,整套流程遵循"冰箱-大象法则":
作为一个个人网站,首先我们需要做一些基础准备: 域名、服务器、DNS解析。
选择一个合适的域名,找一家靠谱的域名注册商注册即可。我是在name.com上购买的域名,现在name还在做活动,注册、续费域名开通G-Suite可以半价。 还有一些其他的域名注册商也不错,如namecheap。在此十分不推荐godaddy,网站不好用,续费还贵。 最后域名相关的一个注意事项,购买域名时记得开通Whois Privacy,否则你的手机、邮箱很有可能被爬虫爬到,有可能被大量垃圾邮件、短信、电话骚扰。
服务器的选择也很多,我使用的是AWS。AWS、 Google Cloud 或者 一些小型的 VPS 都可以,看个人喜好。
在此不推荐阿里云这类中国大陆的公有云服务。原因如下,作为一个个人网站,如果使用国内公有云,那么就需要备案,相当麻烦。
域名解析的选择也很多,我使用的是Cloudflare的免费版本,Cloudflare的几大优点在此说明一下:
这一块我选择的是G-Suite, 使用起来和gmail一样。
接下来,则是软件开发的部分,整个网站的技术架构如下图所示。

前端方面选择的是react进行开发,后面会专门写一篇专题做介绍,在此就不详细说明了,简单提下用到的一些库。
后端选择的是python3, flask框架进行开发, 同样后续也会专题介绍。服务器为ubuntu,使用nginx做反向代理,数据库选择的是MongoDB,缓存则是用Redis。 简单说下持久化的数据使用mongo进行存储,登陆的session数据则存在redis里面,定期进行销毁。
最后,当硬件准备完毕,项目也开发完成后,将代码部署到服务器上即可。最后一步,使用Supervisor配置python项目的守护进程。
整个项目从购买域名到最终上线介绍完毕:arthurnone.com