TypeCodes

Python脚本上传博客自定义的SSL证书到七牛云

博客图片域名(cnd.typecodes.com)的SSL证书是通过Let's Encrypt申请的,因为证书有效期为3个月,所以需要用脚本定时去重新申请。

重新申请证书主要步骤为:

1、源主机上创建crontab定时任务;
2、先把图片域名DNS解析到源主机上,重新申请Let's Encrypt证书;
3、把申请到的SSL证书上传到七牛云的证书管理平台并启用;
4、把图片域名DNS重新解析到七牛云上;
5、最后重启源主机的Nginx服务。

上篇文章中使用Python脚本来切换DNS的解析,也就是实现了上面的2、4步骤;这篇文章主要是用Python脚本来上传SSL证书到七牛云上,也就是实现上面的步骤3。

- 阅读剩余部分 -

脚本自动切换博客图片域名在阿里云的DNS解析

自从七牛开放了自定义SSL证书服务后,博主就通过CNAME方式把博客图片对应的域名cdn.typecodes.com解析到了七牛,然后把Let's Encrypt申请的SSL证书上传到七牛服务器。

但是Let's Encrypt的证书有效期只有3个月,所以到期后需要先把域名重新解析到原来的主机服务器,然后重新申请证书。申请通过后再把域名解析到七牛,同时上传并启用新SSL证书。

- 阅读剩余部分 -

Python自动析构时出现Exception AttributeError: 'NoneType' object has no attribute的问题

昨晚在整理自己的python脚本的时候,想把其中一个脚本中的print函数全都改成logging包中的相关函数。改完后一运行却出现了Exception AttributeError: 'NoneType' object has no attribute的错误,网上搜了一下没找到相关答案。上午再想了想,原因应该是跟python对象的析构有关,具体分析过程如下:

- 阅读剩余部分 -

分布式系统:一致性hash算法的应用

前段时间在了解分布式,发现firefoxbug在博客中写的这篇《一致性hash在分布式系统中的应用》对这个问题说明得比较清晰易懂,本文主要是自己的理解和实践。

在后端一般会遇到这样的场景:随着应用系统的访问量或者DB/文件存储系统的数据量增大,系统由于负载增大而出现响应延迟甚至down掉的情况。为了解决这个问题,往往会对系统采用垂直扩展和水平扩展的架构设计,而分布式系统正是水平扩展架构的一种应用实践。

- 阅读剩余部分 -