|
|
Let's Encrypt - Free SSL/TLS Certificates
1. 获取证书:
先停Nginx
|
|
生成证书
|
|
创建符号链接,可选操作,建议做。因为生成证书后,复制证书麻烦,而且每次更新后都需要复制一次;配置指向/etc目录可能会没有权限,符号链接是最简单高效的办法。
|
|
启动Nginx
|
|
2. 更新证书:
|
|
3. 添加到调度中,每周1凌晨3点检测一次
|
|
参考
[阅读全文]
MySQL主从延迟解决方案
版本:5.7.23
现象
过一段时间会发现从库追不上主库,而且差距越来越大
此时通过在主从库上分别查询:select * from information_schema.processlist where info is not null order by host 得知:
- 主库一直有不断的增删改操作
- 从库一直只有查询操作
查从机:show slave status,得知:
[阅读全文]AWS-EC2搭建hugo+caddy,安装shadowsocks手记
关于购买预留实例
老外们的思维方式不同,在中国其实就是购买实例的时候,选择费用方式为包月包年 预留实例在左边菜单的入口处购买
初始化服务器
原来的服务器到期了,去年mysql+go+vue架构换成了github+caddy+hugo,配置要求不那么高,所以换了个便宜点新实例(2vcpu+2G+8G,这么低的配置都感觉有些浪费了),初始化过程如下:
[阅读全文]关于mysql驱动的DSN字符问题
此次重构发现之前的loc参数一直为空,不太记得是当时刻意为之,还是当时发生了错误未解决 所以在生产上就加了配置asia/shanghai,报错了:invalid DSN: did you forget to escape a param value? 这个好办,转换一下就行了,改成:asia%2Fshanghai
[阅读全文]MySQL中间件选择
MyCAT(1.6.5)
先天不足,发现部分应用有兼容性问题
- XXL-JOB官方文档有说明:如果mysql做主从,调度中心集群节点务必强制走主库
- flyway也不支持!
TiDB(2.0版)
对运行环境硬件配置要求高得变态,某公司的服务器上了高性能SSD仍然不能满足IOPS要求(<40000)
[阅读全文]Twitter snowflake算法
算法原理
- 1位符号位,始终为0;
- 41位时间戳,一般实现上不会存储当前的时间戳,而是时间戳的差值(当前时间-固定的开始时间),这样可以使产生的id从更小值开始;41位时间戳可以使用69年,1L«41/(1000L*60*60*24*365) = 69年
- 10位节点位,前五位数据中心标识,后五位机器标识,可以部署1024个节点
- 12位序列号,支持同一个节点同一毫秒可以生成4069个ID
golang learning
一个有关Golang变量作用域的坑
对于使用:=定义的变量,如果新变量p与那个同名已定义变量 (这里就是那个全局变量p)不在一个作用域中时,那么golang会新定义这个变量p,遮盖住全局变量p
[阅读全文]使用Nexus3搭建docker registry
Nexus 3.0 的三种docker仓库:
- docker (proxy) 代理和缓存远程仓库 ,只能pull
- docker (hosted) 托管仓库 ,私有仓库,可以push和pull
- docker (group) 将多个proxy和hosted仓库添加到一个组,只访问一个组地址即可,只能pull
前提:安装配置好了Java运行环境
[阅读全文]cmd+h和cmd+m
- cmd + m:是对「窗口」的操作,cmd + m是最小化窗口
- cmd + h:是对「应用程序」的操作,cmd + h是隐藏当前程序
- cmd + m:最小化当前窗口
- cmd + option + m:会最小化当前程序所有窗口
- cmd + h:隐藏当前程序
- cmd + option + h:隐藏除当前应用程序之外所有程序窗口