为什么if是邪恶的?
if 指令在location里使用经常会出现不符合期望的情形,有时甚至会出现段错误(segfaults),这是因为if指令是重写模块的一部分,该模块命令式地计算指令。另一方面,NGINX配置是声明性的语言。但某些情况,由于用户的需要,会尝试在if中使用一些非重写指令。
这就导致了现在的情况。它总体上是有效的,不过有一些情况可能并不如...
为什么会有这样的需求呢?因为papay的ipn只支持一条url,而当多个网站都使用同一个paypal帐户收款,你就需要将ipn分发到多台服务器,这时就需要这种操作了,比如将 http://localhost/?stm_lms_check_ipn=1 的请求重放到 https://example.com 上。(有老外甚至为Paypal这个痛点做了付费服务?)...
grep在文件列表中查找字符
如果你想在当前目录下 查找"hello,world!"字符串,可以这样:
grep -rn "hello,world!" *
* : 表示当前目录所有文件,也可以是某个文件名
-r 是递归查找
-n 是显示行号
-R 查找所有文件包含子目录
-i 忽略大小写
下面是一些有意思的命令行参数:
grep...
sar是System Activity Reporter(系统活动情况报告)的缩写。sar工具将对系统当前的状态进行取样,然后通过计算数据和比例来表达系统的当前运行状态。它的特点是可以连续对系统取样,获得大量的取样数据;取样数据和分析的结果都可以存入文件,所需的负载很小。sar是目前Linux上最为全面的系统性能分析工具之一,可以从14个大方面对系统的活动进...
先来看一段日志(此日志来自于 var/log/php-fpm.log ):
[13-Aug-2017 03:30:03] NOTICE: fpm is running, pid 28263
[13-Aug-2017 03:30:03] NOTICE: ready to handle connections
[13-Aug-2017 10:11:04]...
概念
应用层协议协商(Application-Layer Protocol Negotiation,简称ALPN)是一个传输层安全协议(TLS) 的扩展, ALPN 使得应用层可以协商在安全连接层之上使用什么协议, 避免了额外的往返通讯, 并且独立于应用层协议。 ALPN 用于 HTTP/2 连接, 和HTTP/1.x 相比, ALPN 的使用增强了网页的...
ngx_stream_ssl_preread_module模块(1.11.5)允许从ClientHello消息中提取信息,而无需终止 SSL/TLS,例如,通过SNI请求的服务器名称或在ALPN中通告的协议。默认情况下未构建此模块,应使用--with-stream_ssl_preread_module配置参数启用它。
Example Configura...
Respect should be earned ——Linus Torvalds
在油管看了一个六七年前的视频,是Linus在一次活动中的问答环节。Linus 回答了很多的问题,不仅仅是关于技术的细节,还有他对技术的态度,整个视频看下来,能感受他的真诚和幽默,就像热门评论里说的:
Linus最让人佩服的一点是,作为一个技术大...
varchar 定义的长度的单位是字符。 <= 255 的,就用 255 。 原因是,varchar 底层存储需要有一个字节来记录字符数量,一个字节最多可以表示 255,大于 255 就需要有两个字节来表示。 > 255 的按照实际情况来。
在计算机中,一个“字节”由8个“二进制位”组成。 字节:...
(一) 建表规约
【强制】表达是与否概念的字段,必须使用is_xxx的方式命名,数据类型是unsigned tinyint( 1表示是,0表示否)。说明:任何字段如果为非负数,必须是unsigned。正例:表达逻辑删除的字段名is_deleted,1表示删除,0表示未删除。
【强制】表名、字段名必须使用小写字母或数字,禁止出现数字开头,禁止两个下划线...