自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

jeevi的博客

分享工作经验和人生心得

  • 博客(44)
  • 资源 (7)
  • 收藏
  • 关注

原创 一次生产docker MTU=1500问题排查解决

MTU(Maximum Transmission Unit,最大传输单元),是网络链路节点的管控值。大于该值的数据帧,或分片,或丢弃。推测也就是lvs 到后端服务这块出了问题 小报文没事,大报文丢失, 说明网络配置上有问题, 百度查询解释最多就是MTU设置有问题。按照教程修改 我的服务是通过docker compse 部署 找到网络设置进行添加。在观察 宿主机和docker 的 mtu docker都为1400。在容器上和lvs上tcpdump抓包发现了问题。排查宿主机和docker的MTU设置。

2024-04-01 17:42:36 1276 1

原创 基于centos7.9安装 imagemagick7.1.0

imagemagick已发布7.1.0-4版本, 官方提供的 rpm 安装包基于 centos8.x 构建, 奈何我们生产环境是 centos7.9版本, 只能源码安装了 安装过程依赖较多, 折腾了四天才搞定 docker 镜像, 这里记录下安装编译过程我这里需要 gif, png, jpeg, webp, avif, heic 等格式 所以依赖多, 不需要可以酌情减少#设置环境变量PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/lib64/pkgconfig:/usr/l

2021-08-19 15:36:54 1445

转载 go get报错:fatal: could not read Username ... terminal prompts disabled

问题terminal prompts disabledgo get xxx.com/xxx/xxx# cd .; git clone https://xxx.com/xxx/xxx.gitCloning into 'xxx'...fatal: could not read Username for 'https://xxx.com: terminal prompts disabledpackage xxx: exit status 128解决方案方案一临时解法:手动输入用户名密码env

2021-03-11 13:09:11 1329

原创 memecache部署自启动

线上部分机器上的memcached需要设置开机自启动查看启动项命令如下:systemctl list-unit-files |grep enable 查看所有启动项设置开启自启动添加到systemctl自启动服务,ln -s到systemctl目录下systemctl enable memcached.service修改/etc/sysconfig/memcached中的参数启动cat /etc/sysconfig/memcached PORT="11211" --- 端口U

2021-02-01 09:54:24 267

原创 nc实现多服务间上传下载文件

近段有本地和服务之间传递文件, 但公司服务器ssh跳板机登录, szrz, scp 都不可用, 看了网上教程可以用nc命令实现传递 甚至传递文件夹1、安装 ncyum install nc -y2、监听文件// 在 10.60.102.35 这台主机监听 12345 端口(注意符号是 “<” )nc -l 12345 < input.csv// 在 10.60.102.33 这台主机下载文件(注意符号是 “>” )nc --recv-only 10.60.102.

2020-11-14 14:31:55 715

原创 关于Git协同工作流流的思考

业界主流的协同工作流: Git Flow, GitHub Flow, GitLab Flow工作流介绍: http://www.ruanyifeng.com/blog/2015/12/git-workflow.html工作流的本质要解决:不同的团队能够尽可能地并行开发。不同软件版本和代码的一致性。不同环境和代码的一致性。代码总是会在稳定和不稳定间交替。我们希望生产线上的代码总是能对应到稳定的代码上来。基本上述的四个事儿,上述的工作流大都是在以建立不同的分支,来做到开发并行、代码和环境版本

2020-09-07 15:07:25 111

转载 Git三大特色之WorkFlow(工作流)

开篇Git 三大特色,分支,暂存区,工作流,今天终于要写到 WorkFlow 了,我彷佛已经看到胜利的曙光,走起。何谓工作流WorkFlow 的字面意思,工作流,即工作流程。在分支篇里,有说过这样的话:因为有分支的存在,才构成了多工作流的特色。事实的确如此,因为项目开发中,多人协作,分支很多,虽然各自在分支上互不干扰,但是我们总归需要把分支合并到一起,而且真实项目中涉及到很多问题,例如版本迭代,版本发布,bug 修复等,为了更好的管理代码,需要制定一个工作流程,这就是我们说的工作流,也有人叫它分支管理

2020-09-07 11:40:58 555

原创 docker中nginx *26054 open() “/var/lib/nginx/tmp/client_body/0000000005“failed (13: Permission denied)

部署在docker容器中的nginx以nobody形式启动,在上传大文件时候出现了此错误:2020/08/10 17:29:32 [crit] 54#0: *2812 open() "/var/lib/nginx/tmp/client_body/0000000222" failed (13: Permission denied), client: 10.126.173.6, server: xxxxxxxx, request: "POST /image/image.php?action=insert&am

2020-08-10 20:10:43 1472

原创 POST请求Expect:100-continue出现两次请求问题

今天在测试上测试上传图片POST请求 出现了响应两次发现第一次请求的header头中有:Expect: 100-continuecontent-Length:41386服务端响应了:HTTP/1.1 100 Continue后客户端进行下上传随后服务端响应回来数据查资料发现:在使用curl做POST的时候, 当要POST的数据大于1024字节的时候, curl并不会直接就发起POST请求, 而是会分为俩步,1. 发送一个请求, 包含一个Expect:100-continue, 询问Se

2020-08-06 20:09:02 11659 1

原创 linux 下 crontab中 find -exec 报 find: missing argument to `-exec‘

目前在docker容器中执行的 crontab命令删除定期删除/tmp 目录命令如下:# 进行临时目录磁盘清理1 0 * * * source ~/.bash_profile; find /tmp/ -mtime +5 -type f -exec rm -rf {} \ >/dev/null 2>&1观察发现没有执行,运行发现报此错误find: missing argument to `-exec'查资料发现 \后面需要 ;正确写法如下:1 0 * * * so

2020-08-05 19:41:38 598

原创 Linux下sysctl.conf内核参数详解

最近发现很多内核优化参数都记不住了,写下文章来备记,方便以后查看.编辑 /etc/sysctl.conf 文件,在里面加入如下内容:(有注释)#最大的待发送TCP数据缓冲区空间net.inet.tcp.sendspace=65536#最大的接受TCP缓冲区空间net.inet.tcp.recvspace=65536#最大的接受UDP缓冲区大小net.inet.udp.sendspace=65535#最大的发送UDP数据缓冲区大小net.inet.udp.maxdgram=65535#本地

2020-07-12 10:40:05 1094

原创 go middleware的原理写法

package mainimport ( "fmt")type Handler func(int)type Middleware func(Handler) Handlerfunc Chain(outer Middleware, other ...Middleware) Middleware{ return func(next Handler) Handler { for i := len(other) - 1; i >= 0; i-- { next =

2020-07-09 20:21:50 368

原创 Kafka 发送端error:This server is not the leader for that topic-partition

观察线上的错误日志发现出现: This server is not the leader for that topic-partition从日志推测是在broker topic partition出现了选主, 选主过程中推送了旧leader 出现此错误解决方案:该异常是由kafka集群broker节点发送变化导致,在producer端配置失败重试次数(retries=3,默认retries=0),线上用的spring kafka 参考配置配置即可附:#################consum

2020-07-06 12:00:50 9910

原创 go context包深入理解文章推荐

深度解密Go语言之context:知乎-Stefnogo blog: https://blog.golang.org/context

2020-07-03 16:08:33 191

原创 郑晔老的10x程序员工作法学习笔记

10x程序员工作法by:郑晔老师问题忙碌原因本质复杂度(Essential Complexity)问题本身复杂偶然复杂度(Accident Complexity)选用方法不当, 导致复杂度上升事实大部分程序员忙碌解决的问题,都不是程序问题,而是由偶然复杂度导致的问题解决减少偶然复杂度引发的问题, 让软件开发工作有序、高效地进行; 优秀程序员的开发效率是普通程序员的 10 倍如何思考思考框架要诀1、现状where are we?2、

2020-06-22 13:28:09 2707 4

转载 常见容错机制:failover、failfast、failback、failsafe

1.failover:失效转移Fail-Over的含义为“失效转移”,是一种备份操作模式,当主要组件异常时,其功能转移到备份组件。其要点在于有主有备,且主故障时备可启用,并设置为主。如Mysql的双Master模式,当正在使用的Master出现故障时,可以拿备Master做主使用2.failfast:快速失败从字面含义看就是“快速失败”,尽可能的发现系统中的错误,使系统能够按照事先设定好的错误的流程执行,对应的方式是“fault-tolerant(错误容忍)”。以JAVA集合(Collection)的

2020-06-18 09:54:09 794

转载 java HashMap 与HashTable的区别

HashMap 与HashTable的区别HashMap与Hashtable的区别是面试中经常遇到的一个问题。这个问题看似简单,但如果深究进去,也能了解到不少知识。本文对两者从来源,特性,算法等多个方面进行对比总结。力争多角度,全方位的展示二者的不同,做到此问题的终结版。1 作者Hashtable的作者:HashMap的作者:Hash Map的作者比Hashtable的作者多了著名顶顶的并发大神Doug Lea。他写了util.concurrent包。著有并发编程圣经Concurrent Pr

2020-06-10 17:00:40 333

转载 服务器常见错误500 501 502 503 504 505 详解

最近公司好多人,总来询问网站报错误代码具体是什么意思,为了大家好理解,所以贴出来吧,列出来几个比较常见的错误代码供大家学习一下1、服务器500错误服务器500错误是服务器的内部错误,可能原因1、程序语言错误,例如:ASP或者PHP语法错误;2、高并发导致,系统资源限制不能打开过多的文件所致;2、服务器501错误服务器不支持请求的功能,无法完成请求,服务器无法识别请求方法时可能会返回此代码。3、服务器502错误502错误是WEB服务器故障,可能是由于程序进程不够,请求的php-fpm已经执行

2020-05-19 14:09:00 2579

转载 软件版本GA、RC、beta等含义

GAGeneral Availability,正式发布的版本,官方开始推荐广泛使用,国外有的用GA来表示release版本。RELEASE正式发布版,官方推荐使用的版本,有的用GA来表示。比如spring。Stable稳定版,开源软件有的会用stable来表示正式发布的版本。比如Nginx。Final最终版,也是正式发布版的一种表示方法。比如Hibernate。RCReleas...

2020-04-13 14:45:07 224

转载 (转)postman中 form-data、x-www-form-urlencoded、raw、binary的区别

1、form-data:就是http请求中的multipart/form-data,它会将表单的数据处理为一条消息,以标签为单元,用分隔符分开。既可以上传键值对,也可以上传文件。当上传的字段是文件时,会有Content-Type来表名文件类型;content-disposition,用来说明字段的一些信息;由于有boundary隔离,所以multipart/form-data既可以上传文件,也...

2020-03-04 22:01:24 445

转载 php 解决修改memory_limit失效的问题

今天要安装新的工具,要求修改php.ini的memory_limit的限制最小为512M,于是娴熟的打开php.ini,找到memory_limit,把128M(默认值)改为512M,保存,退出。重启nginx和php,大功告成。等等,想验证一下,打开了phpinfo(),结果显示memory_limit的值是196M,瞬间感觉奇怪,反复修改了几次,都没有用。于是找到php-fpm.conf,打...

2019-12-20 14:57:55 4086

原创 php使用weiboad/kafka-php推送错误Could not write xxx bytes to stream解决

线上使用php的客户端是 https://github.com/weiboad/kafka-php 版本:dev-master线上经常报错误:Could not write 1422 bytes to stream追查源码后发现在CommonSocket.php 文件中 writeBlocking方法 public function writeBlocking(string $buffer...

2019-05-28 14:48:48 1380

原创 glide 拉取Update failed for golang.org/x/sys 错误问题

近日在学习go中用glide拉取golang.org/x/sys报错误根据网上设置mirror也是不行的最后看到一篇文章最好的方式就是 设置代理!export http_proxy=‘http://localhost:1088’export https_proxy=‘http://localhost:1088’然后在执行 就可以了取消使用unset http_proxyunse...

2019-05-14 17:31:43 592

原创 elasticsearch空index搜索排序报错问题( No mapping found for [avg_pv] in order to sort on)

今天运维群里通知生产环境ES查询出现错误 No mapping found for[DEBUG][o.e.a.s.TransportSearchAction] [qtt-public-es-bje-qtt-public-es-06-c] [lw_analysis_author_week_board_1_201904][4], node[Yg4ArHVlQHKYOv1qS0dR_Q], [P]...

2019-04-02 14:39:39 22781

原创 nsqadmin上UPSTREAM_ERROR: Failed to query any nsqlookupd 错误

在自己搭的docker nsq测试环境上有UPSTREAM_ERROR: Failed to query any nsqlookupd: Get http://192.168.121.21:4161/lookup?topic=test: dial tcp 192.168.121.21:4161: connect: no route to host 错误猜测可能是防火墙拦了查看防火墙状态: ...

2019-02-19 14:49:32 4412

转载 mysql分区表之一:分区原理和优缺点【转】

1.分区表的原理分区表是由多个相关的底层表实现,这些底层表也是由句柄对象表示,所以我们也可以直接访问各个分区,存储引擎管理分区的各个底层表和管理普通表一样(所有的底层表都必须使用相同的存储引擎),分区表的索引只是在各个底层表上各自加上一个相同的索引,从存储引擎的角度来看,底层表和一个普通表没有任何不同,存储引擎也无须知道这是一个普通表还是一个分区表的一部分。在分区表上的操作按照下面的操作逻...

2018-07-05 10:59:12 1214

原创 Win10下Wireshark找不到接口的解决办法

Win10下安装Wireshark,打开后可能出现“没有找到接口”提示,可能是由于其自带的Winpcap不支持Win10 http://www.win10pcap.org/download/下载安装Win10Pcap可解决此问题...

2018-05-14 10:19:58 7810

原创 docker常用命令整理

docker整理出常用命令

2018-05-12 14:47:39 166

原创 supervisord多实例运行

服务器上已经运行了一个supervisord的服务 不过是在root权限下 在线上是没有权限的,自己想是否可以自己运行一个实例呢 研究后发现是可以 查看:$ supervisord -hsupervisord -- run a set of applications as daemons.Usage: /bin/supervisord [options]Options:-c/--...

2018-05-04 17:02:39 1122

原创 php 脚本连接出现General error: 2006 MySQL server has gone away错误原因排查

今天在公司测试环境中和其他部门项目联调,等了好长时间也没有发现我负责项目数据传递过去,看日志发现出现:exception:HY000:SQLSTATE[HY000]: General error: 2006 MySQL server has gone away 首先说明 我的是后台php以守护进程的形式运行的第一反应 以为是mysql挂了 看来下mysql也是ok的,带着不解百度了下,...

2018-05-04 15:34:37 5446

原创 linux 使用ctrl+r进行搜索输入过的命令

在Linux系统下一直用上下键查找以前输入的命令,这个找刚输入不久的命令还是很方便的,但是比较久远的命令,用上下键效率就不高了。那个history命令也是个花架子,虽然功能多,但不好用,网上找了下,发现了用ctrl + r这个快捷键查找历史命令,研究了一下发现真是好用。按下这个快捷键后,进入了反向搜索状态,这时你输入一个字符,系统会找到最近一个包含这个字符的命令,如果不是你想要的命令,你可以继...

2018-04-10 22:06:06 2910

原创 Xshell部分常用的快捷键

Xshell,一款强大的终端模拟工具,通过网络可远程连接Linux。Linux快捷键在Xshell中也实用的:ctrl + L 清屏ctrl + U 删除光标前字符ctrl + K 删除光标后字符ctrl + A 光标移动行首ctrl + E 光标移到行末ctrl + 左右箭头 光标移动到上/下一个单词ctrl + B 光标移动到前一个字符...

2018-04-04 15:44:10 1420

原创 读书成长之路

2017年读过的书《Linux高性能服务器编程》《图解TCP_IP_第5版》《NGINX高性能WEB服务器详解》 2018年读过的书《Docker从入门到实践》

2018-03-22 12:04:07 157

原创 linux 压缩解压常用命令

01-.tar格式解包:[*******]$ tar xvf FileName.tar打包:[*******]$ tar cvf FileName.tar DirName(注:tar是打包,不是压缩!)02-.gz格式解压1:[*******]$ gunzip FileName.gz解压2:[*******]$ gzip -d FileName.gz压 缩:[*******]$ gzi...

2018-02-24 16:20:33 152

原创 nginx 日志统计常用命令

IP相关统计统计IP访问量(独立ip访问数量)awk '{print $1}' access.log | sort -n | uniq | wc -l查看某一时间段的IP访问量(4-5点)grep "07/Apr/2017:0[4-5]" access.log | awk '{print $1}' | sort | uniq -c| sort -nr | wc -l ...

2018-02-24 10:49:29 318

转载 git在windows和linux之间换行符问题

背景 在各操作系统下,文本文件所使用的换行符是不一样的。UNIX/Linux 使用的是 0x0A(LF),早期的 Mac OS 使用的是0x0D(CR),后来的 OS X 在更换内核后与 UNIX 保持一致了。但 DOS/Windows 一直使用 0x0D0A(CRLF)作为换行符。Git提供了一个“换行符自动转换”功能。这个功能默认处于“自动模式”,当你在签出文件时,它试图将 UN...

2018-02-24 10:06:04 3883 1

原创 U盘安装Centos 7 dracut_initqueue xxx 错误问题解决办法

公司有台闲置机器用来装一个linux来做开发机,使用UltralSO制作的CentOs 7 U盘启动盘,在安装过程中出现了 dracut_initqueue[xxxx]: xxxxxx的错误 查资料发现 官方发布的CentOS-7的ISO文件包含了特殊的分区信息,从而导致之前在CentOS-5、6上有效的制作U盘安装盘的方法失效。制作出来的U盘无法正确引导、加载CentOS-7安装数据 ...

2018-02-11 11:11:45 3651

转载 Beanstalkd基本使用

安装官网:https://kr.github.io/beanstalkd/安装yum install beanstalkd --enablerepo=epel启动/usr/bin/beanstalkd -l 0.0.0.0 -p 11300 -b /var/lib/beanstalkd/binlog -F-b 开启binlog,断电后重启会自动恢复任务。配置文件

2018-01-05 15:55:17 1741

原创 七牛的架构师成长之路

七牛的架构师成长之路漫画地址:https://mp.weixin.qq.com/s/qTtVpctGBtTMc5Ifiib9Tw

2018-01-02 10:41:35 734

转载 Linux进程,进程组,会话之间关系

一个进程组可以包含多个进程      进程组中的这些进程之间不是孤立的,他们彼此之间或者存在者父子、兄弟关系,或者在功能有相近的联系。      那linux为什么要有进程组呢?其实提供进程组就是方便管理这些进程。假设要完成一个任务,需要同时并发100个进程,当用户由于     某种原因要终止这个任务时,要是没有进程组,就需要一个个去杀死这些进程,设置了进程组之后,就可以对进程组中的每个进程进行杀死

2017-12-28 19:22:45 570

10x程序员工作法笔记.zip

极客时间郑晔老师10x程序员工作法的学习笔记 文件已md, png, xmind格式给出, 欢迎下载

2020-06-22

Docker从入门到实战 一本不错的docker书籍

一本不错介绍docker从入门到是实践的书籍 本章将带领你进入 Docker 的世界。 什么是 Docker? 用它会带来什么样的好处? 好吧,让我们带着问题开始这神奇之旅

2018-03-22

php zip压缩类

php 的zip压缩类 可实现zip压缩和解压功能强大;亲测没有bug

2014-11-30

html5开发的塔防游戏

html5 canvas开发的;相对于传统游戏是没用到图片资源的

2014-05-12

php 图片技术

php中常用gd2库中图像处理函数介绍,值得查看

2013-10-08

经典sql语句大全

经典sql语句,整理比较齐全,值得收藏,

2013-07-21

无线路由发射器

一个让笔记本电脑变成无线路由发射器的软件

2012-11-29

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除