notes
notes copied to clipboard
个人笔记
### 场景 某些程序没有自带日志分隔功能,天长日久,日志越来越臃肿。 这个时候可以用系统自带的 logrotate 来进行切割。 通常 logrotate 是各个 linux 发行版都会默认安装的,你只需要进行配置即可。 ### 使用 1. 进入其默认设置目录 ```shell cd /etc/logrotate.d ``` 2. 创建一个无后缀文件,用来存放你的分割配置 以MongoDB为例,创建一个名为 mongod 文件,并加入以下代码并保存。 ```shell /var/log/mongodb/*.log { create 0644 mongod...
### 场景 网站需要启用 HTTPS 访问,因为自签名的证书现在面临浏览器厂商和颁证机构的联合围剿。 可以说,除了开发状态下,实际线上完全没什么卵用。所以,你需要花钱买一个证书。 下面介绍下如何去搞这个东西。也是备忘下,因为反复搞了几次,结果每次都记不住一些参数。 ### 准备步骤 ```c $ openssl req -nodes -newkey rsa:4096 -sha512 -out request.csr -keyout private.key openssl // 这个不做解释 req // 这个是 openssl 中用来处理证书申请请求的 newkey...
there have some breaking changes from CLI v1 to v2. for v2 command to generate the ECR login password: ```shell aws ecr get-login-password --region xxx # for original region specific...
### 情形 Phalcon 框架中的 `getJsonRawBody(true)` 方法,经常会返回 `null` 值。 即使 POST 的参数明明是个正常的 JSON 数据。 ### 原因 查看过该方法的源代码,没有发现什么异常。 但是莫名其妙的就会在该方法内 `json_decode()` 时出现错误码为 `4` 的语法错误。 该错误表示传入的字符串不是一个正常的 JSON 字符串。 而且神奇的是,当我把该方法的代码由 Zephir 原样改写为 PHP 代码实现后,一切又正常了。 ###...
### 问题场景 启用 Redis 长连接,并设置了多个数据库(index)。 在相同 PHP 进程中切换不同数据库时,数据始终被保存到了最后那个数据库(index)中。 ### Redis 长连接 `pconnect` 原理 Redis 长连接 `pconnect` 的生命周期是 FPM 进程的生命周期,而非一次 PHP CGI 的执行周期. 在 FPM 的整个生命周期里,长连接会反复被重用,直到 FPM 进程结束。 当使用了 `pconnect` 后,调用...
### 吐槽 如果我说 Oracle 是一家无节操死要钱的公司,大概没有多少人会反对。 尼玛,一门语言的开发工具包都收费,无耻啊无耻... 鉴于收费的原因,大家不得不转战到 OpenJDK 的行列来。 而 Oracle 本身的 OpenJDK 只是其收费版的阉割版本。 所以,我们最好是选择别家的 OpenJDK 发行版,因为他们会在 Oracle 版本的基础上, 加入一些 “良心” 点的东西,甚至移植一些新版本的特性或者其他自家开发的特性在其中。 同时,这些第三方的 OpenJDK 还能做到兼容 JAVA SE 标准。 ### 推荐...
### 背景 你明明已经使用了 `clear:both` 但是错位问题还是存在。 ### 明确概念 1. 清除浮动是清除掉 “**当前元素**” “**前面**” 的 “**兄弟级浮动元素**” 对 “**当前元素**” 的影响。 2. clear 属性只是在 block 元素是起作用,如果你把 clear:both 用在一个 inline-block 或 inline 元素上,clear:both 是不会起任何作用的。 ### 说明...
### 背景 SSH登录远程服务器,经常会遇到莫名其妙的问题,导致登录失败。 记性不好,搜了一大堆的文章,各种乱七八糟的办法都不系统。 最后从阿里云的运维排查指南中提取关键内容,Copy到这里,以备后用。 如果你恰好从中受益,请感谢阿里云技术文档的编辑们吧。 本文主要针对无明显错误提示的中间网络问题的排查。 因为如果有明确的错误提示,直接搜索原因即可。 没有错误,只是失败和超时,处理起来会比较头疼。 ### SSH DEBUG 先用跟踪先 SSH 的连接过程,定位问题,并搜索相应解决方案 ```shell ssh -vvv [email protected] -p 22 ``` ### 准备步骤 如果SSH DEBUG 信息无法定位到问题,用如下方式进行 telnet 端口测试 ```shell...
### 背景 MTU 最大传输单元(Maximum Transmission Unit)是指一种通信协议的某一层上面所能通过的最大数据包大小(以字节为单位)。 **常见链路层协议 MTU 默认值:** FDDI协议:4352字节 以太网(Ethernet)协议:1500字节 **PPPoE(ADSL)协议:1492字节** X.25协议(Dial Up/Modem):576字节 Point-to-Point:4470字节 以太网的 MTU 值为 1500 字节,一般来说操作系统不论是 Windows 还是 Linux 等,默认的 MTU 值也是 1500。但是 ADSL(宽带) 使用的 PPPoE...
### 背景 Chrome 会出现实际渲染后的颜色值,与设定值不一致的情况。 比如,设定值为 **`#f5f7fa`**,在 Chrome 渲染后拾色的值为 **`#f4f6f9`**. ### 解决办法 1. 关闭硬件加速(下图为开启状态),重启后浏览器。如果不行,继续尝试方法2  2. 在地址栏输入 `chrome://flags/#force-color-profile` 并回车, 切换 `force color profile` 的选项为 `sRGB`,之后重启浏览器。  ### 原因 Chrome 61+ 开始用显示设备的配置来作为默认配置,这样就导致了这种渲染色差的产生。...