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命令行操作数据库始终不太方便啊,比如:查询 …

MySQL每日分表定时备份shell

最近有个需求:项目是21G的mysql数据库,需要做每日备份归档,本来考虑做增量备份的,从时间安排考虑,还是先做个每日全量备份吧。 思路是先连接数据库,切换到要备份的库,然后取出所有表名,接下来遍历每张表,挨个导出为 .sql 文件,放到日期为命名的文件夹里,最后压缩为 .tar.gz 压缩包。 使用的是crontab做每日定时任务。 #!/bin/sh …

访问 Nginx 二级目录中的 Laravel 项目

这个问题折腾了挺久时间都没成功,尝试了定义root path,也尝试了proxy_pass都不行。直到看到一篇文章,介绍的是目录伪静态转发才搞定…… 根目录为 /,laravel项目放在 aaa 下,目的是需要通过局域网IP访问laravel项目,如果不做转发,可以访问首页,但是子页面无法访问,因为没有配置rewrite。 以下是转发代码: location …