PHP非阻塞的几种实现方式

为让 PHP 在后端处理长时间任务时不阻塞,快速响应页面请求,部分业务后台继续执行,可以有以下措施: 使用 fastcgi_finish_request() 如果 PHP 与 Web 服务器使用了 PHP-FPM(FastCGI 进程管理器),那通过 fastcgi_finish_request() 函数能马上结束会话,而 PHP 线程可以继续在后台运行。
全面理解四象限思考方法

全面理解四象限思考方法

”一分为二的思考方法的已经很厉害了。那么二分为四是不是更牛?” 工作学习中接触到很多方法和工具。发现很多都用到了四象限分析方法,比如时间管理,情景领导和波士顿矩阵等。本文对这些方法做了罗列。大部分内容并非原创。 四象限是一种对事物属性进行组合细分的方法。简单的说他是把两种属性按照正反进行两两组合,得到四个象限。这两种属性是相互独立的。然后针对不同的象限,采取 …

Nginx net::ERR_HTTP2_PROTOCOL_ERROR 200 错误

错误描述: 网站突然在Chrome浏览器或者Chrome内核的浏览器下打不开了,按F12调试发现部分资源报错net::ERR_HTTP2_PROTOCOL_ERROR,状态码又是200,表示客户端到服务器的链接是正常的,能建立正常链接。 初始怀疑硬件防火墙问题,因为之前访问正常,突然访问错误,但是查询硬件防火墙并未发现任何内容拦截记录。因为是通过nginx反 …

Mysql索引优化

不要看到 WHERE 条件中的字段就创建索引,因为创建太多的单列索引,反而会造成性能降低。 无需一开始就创建索引,可以等到业务场景明确后,或者是数据量超过 1 万、查询变慢后,再针对需要查询、排序或分组的字段创建索引。我们可以把所有的请求记录到 general log 里面,或者我们把 long_query_time 设置为 0 把所有的 sql 都当成慢查 …

laradock kibana 设置中文语言

进入kibana后台:http://127.0.0.1:5601/,可以看到默认是英文语言。 首先进入容器: docker-compose exec kibana bash 编辑kibana配置文件: vi /usr/share/kibana/config/kibana.yml 在文件最底部加入中文设置: i18n.

ubuntu挂载硬盘

以下命令大部分都需要root权限执行 如果当前登录的是非root用户,切换到root sudo -i 查看磁盘信息 fdisk -l 查看分区的UUID blkid 1. 查看磁盘挂载点 df -kh 2.

Laravel 使用 UUID 作为用户表主键并使用自定义用户表字段

最近在用 Laravel 5.6 做一个项目,涉及到用户表的自定义字段和 UUID 作为主键,各种 Google 花了我很长时间,所以本篇文章用来记录一下实现思路,以防后人踩坑。 Schema 用 php artisan make:auth 出来的用户表使用的自增的 id 作为主键,验证时使用 email 字段作为用户的 “登录名”,然而我并不希望使用一个自 …

shell下执行mysql查询导出到文件,简单高效

最近在做mysql多表查询生成报表之类的事情,表数据又比较大,大到一个表有几千万行两三个G大,小到几百万行一两个G,而且还要联合查询,又是group,又是子查询,索引都用不上,这样查几个小时不一定出来结果。 无意中试了下shell中执行sql并且导出到文件,平时在Navicat这种图形客户端半天都没结果的sql,在shell小到几分钟,大到个把小时,都不会等 …

Nginx反向代理远程MySQL

背景 情况是这样的,我们一个项目的客户是AWS的RDS,因为业务需要,我们要连接客户的RDS,但是客户那边只能添加一台我们机器的IP白名单。 所以我们在AWS这台RDS的同区域买了一台EC2云服务器,然后提供公网IP,这样RDS那边就添加了我们的IP白名单,可以在这台EC2上面连接那台RDS了。。。 但是ubuntu命令行操作数据库始终不太方便啊,比如:查询 …