自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(61)
  • 收藏
  • 关注

原创 Centos7执行yum install *时出现“Peer‘s Certificate has expired.“

一、引言 今天在安装OpenResty的时候,出现了"Peer's Certificate has expired."的问题,详细错误如下:[root@kubernetes ~]# sudo mv openresty.repo /etc/yum.repos.d/[root@kubernetes ~]# sudo yum check-updateLoaded plugins: fastestmirrorLoading mirror speeds from cached hostf...

2021-11-21 19:28:59 456

转载 Docker安装

一、使用官方安装脚本自动安装 (仅适用于公网环境)curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun二、Ubuntu 14.04 16.04 (使用apt-get进行安装)# step 1: 安装必要的一些系统工具sudo apt-get updatesudo apt-get -y install apt-transport-https ca-certificates curl software-prope

2021-09-20 18:06:45 35

原创 Git 如何获取执行tag的代码

一、如果本地已有代码仓库:git taggit checkout <tag-name>二、如果本地没有代码仓库:git clone <git项目的地址>git taggit checkout <tag-name>

2021-09-20 16:22:54 1022

原创 Docker buildx: failed to solve: rpc error: code = Unknown desc = network.host is not allowed

network=host被认为是不安全的,您需要在创建构建器时传递 --buildkitd-flags '--allow-insecure-entitlement network.host',示例如下:docker buildx create --name ingress-nginx --buildkitd-flags '--allow-insecure-entitlement network.host'...

2021-09-20 16:18:21 2495

原创 The connection to the server 10.25.78.100:6443 was refused - did you specify the right host or port?

引言今天重启了一下k8s集群Master节点所在的机器,启动完成之后发现使用kubelet指令都会报出一个错误:[root@k8s-master ~]# kubectl get pod The connection to the server 10.25.78.100:6443 was refused - did you specify the right host or port?问题定位查看kubelet的状态,发现kubelet并没有启动起来,一开始以为是没有加到开启启动项中,就

2021-07-31 12:10:57 638

原创 Python3 发送各种类型的邮件

引言好久没发文章了,主要是这段时间太忙了~;另外菜菜有了一个属于自己的博客小站,CSDN好久没写过文章了,

2021-06-14 03:33:30 274

原创 Rancher 无法执行命令行 和 无法查看日志的解决办法

引言今天一个k8s的节点宕机了,当机器恢复后发现无法通过Rancher执行命令行和查看日志了,状况如下:ε=(´ο`*)))唉,这是咋地了?看了一下Rancher所在的Pod的运行情况?额,没问题啊。接着又看了下解决方案突然想到,是不是防火墙开着的,因为报错是连接超时;于是就看了下节点的防火墙的状态,果然开着的,果断噼里啪啦关掉它。systemctl stop firewalldsystemctl status firewalld1. 验证命令行是否可用2

2020-11-17 21:47:57 2678

转载 Kubernetes访问报错: No route to host

背景搭建完集群式k8s后,各个节点都已经Ready,但是在创建echo服务进行访问时报错:No route to host解决参考链接:https://imlc.me/v/zh-cn/kuai-su-jie-jue-kubernetes-no-route-to-host(一)集群式部署[root@k8s-master kong]# systemctl stop kubelet[root@k8s-master kong]# systemctl stop docker[root@k

2020-10-08 16:04:00 2816

原创 Centos7设置Windows(Linux)私钥登录并禁止root密码登录

问题背景应公司护网行动,需将一些弱密的服务器进行整改,为更加贴合护网的宗旨且为服务器安全考虑,索性直接使用私钥进行远程连接,并禁止使用root密码进行远程登录。具体做法常见的Linux服务器远程登录的手法一般为:密码登录和秘钥登录两种。显然秘钥登录相对更加安全(如果你非得说自己的私钥也可能被别人盗取,那菜菜也是 -.-!)。在进行操作之前,大家还得确定下自己的服务器上是否有.ssh目录来存在当前服务器上的公私钥文件,没有的话还得自己进行创建。秘钥文件创建第一步:创建秘钥文件# -C

2020-08-15 07:25:01 451

原创 基于OpenResty上传限速的实现

问题背景一般而言,OpenResty做的都是反向代理的工作,负责流量治理类的工作。很常见的限速一般都是下载限速Nginx也提供了类似的指令:limit_rate。但是说巧不巧,业务方昨天提到了由网关来做针对客户端的上传文件时的限速功能,这就很曹丹了,一般都是为了用户体验度,都是提高上传的速度还有主动限制上传速度的;反正不管了,现将功能集成进去再说。 解决方案但是问题来了,TMD,怎么做呢?OpenResty并没有提供类似的API来做这件事,唯一看到的一个Nginx的第三方模块:li...

2020-08-11 22:57:26 702 6

原创 安装和卸载RPM包

安装rpm包rpm -ivh *.rpm卸载已经安装的rpm包1. 已经安装的RPM包rpm -e –nodeps 包名2. 多版本RPM包rpm -e –allmatches 包名

2020-08-11 22:22:41 208

原创 OpenResty的一些好文章

OpenResty的特性:https://segmentfault.com/a/1190000019266136

2020-08-11 22:19:10 51

转载 OpenResty学习笔记

简介OpenResty是一个基于Nginx+Lua的Web运行环境,它打包了标准的 Nginx 核心,很多的常用的第三方模块,以及它们的大多数依赖项。OpenResty可以用来实现高并发的动态Web应用Open 取自“开放”之意,而Resty便是 REST 风格的意思OpenResty使用的Lua版本是5.1,不使用更新版本的原因是5.2+版本的Lua API和C API都不兼容于5.1。自从 OpenResty 1.5.8.1 版本之后,默认捆绑的 Lua 解释器就被替换成了 LuaJIT

2020-08-11 22:15:24 380

转载 Linux系统之rpm仓库搭建

一、概念  1.rpm是什么?在帮助文档里我们可以看到,rpm的名字是rpm package manage 的缩写, 从名字上看就可以知道rpm就是一个包管理工具。简单说rpm包就是把一些程序编译成二进制,和一些配置文件以及帮助文档等一些程序所依赖库打包在一起,这样形成的一个包。rpm大大的简化用户在Linux上安装软件的复杂度。  2.rpm仓库是什么?从字面理解,仓库就是集中存放东西的地方,同样rpm仓库就是集中存放rpm包的一个地方。这里说的‘地方’就是服务器。把很多rpm包放在一个特定的服务

2020-08-11 21:53:00 581

原创 OpenResty 上游响应过大处理方案

问题描述当上游服务经过网关代理后出现响应体被截断的状况,导致调用方解析响应体失败!问题分析 2020/05/30 13:16:28 [crit] 1879#0: *10035158 mkdir() "/usr/local/nginx/proxy_temp/0/91" failed (13: Permission denied) while reading upstream, client: 10.25,78.146, server: localhost, request: "GET /

2020-08-11 21:45:28 247

原创 OpenResty 动态SNI

应用场景SNI主要解决一台服务器只能使用一个证书(一个域名)的缺点,随着服务器对虚拟主机的支持,一个服务器上可以为多个域名提供服务,因此SNI必须得到支持才能满足需求。解决方案OpenResty 基于 Nginx 对 HTTPS 提供了非常好的支持,但要求 OpenSSL 的版本不能低于 1.0.2e。Nginx配置在 OpenResty 里搭建 HTTPS 服务需要使用三个核心指令,指定服务器的监听端口、证书和秘钥:指令 描述 listen 监听端口,必须使用附加.

2020-08-11 21:43:04 408

原创 OpenResty上游响应超时

问题描述当使用网关代理上游服务时会出现调用方一直在等待网关的响应,最后出现上图的情况。问题分析流程分析步骤号 描述 A client端发起请求给gateway。 B gateway处理后,将请求转发到server,并等待结果。 C gateway处理完请求后,返回数据给gateway。 D gateway将处理结果返回给客户端 每个阶段都会有一个预设的超时时间,由于网络、机器负载、代码异常等等各种原因,如果某个阶段没有在预期...

2020-08-11 21:39:17 935

原创 Window下 pip安装第三方包出现 UnicodeEncodeError: ‘ascii‘ codec can‘t encode character u‘\u258c‘ in position 8

问题描述window下使用pip进行安装第三方包的时候报错:“UnicodeEncodeError: 'ascii' codec can't encode character u'\u258c' in position 8: ordinal not in range(128)”问题原因python2.7的默认编码方式为ascii字符集,这里所说的编码方式指执行编码方式,在编程过程中,有三个地方都涉及到编码方式:分别是源码编码方式(.py文件的字符集),执行编码方式,运行环境编码方式。问题解决

2020-08-11 21:14:02 357 1

原创 nginx 优秀的第三方模块

地址:https://www.nginx.com/resources/wiki/modules/

2020-08-03 19:11:04 296

转载 Nginx信号

一、Nginx信号机制说明nginx是通过master进程和worker进程提供服务的。master进程主要用来监控worker进程工作状态进行相应重 启、停止等操作。worker进程则进行具体提供服务,接受请求和处理请求。那么既然提到master监听worker进程,就势必用到进 程间通信。常见的进程 间通信也无非那几种方式,内存,消息队列,socket,信号等。在nginx中是采用了共 享内存,socket与信号三种方式。在master和w...

2020-08-03 19:08:46 251

原创 OpenResty 命令详解

命令(1): openresty-h | -?含义:查看OpenResty的帮助,可以得知当前的版本号以及全部指令的使用方式。示例:[root@localhost ~]# openresty -hnginx version: openresty/1.15.8.2Usage: nginx [-?hvVtTq] [-s signal] [-c filename] [-p prefix] [-g directives]Options: -?,-h : this help.

2020-08-03 17:59:00 3594

转载 Java问题排查:CPU过载问题

场景描述在使用Jenkins时发现服务是真的卡顿,如上图所示(真实的数据没了,就放个当前的截图),假如使用"top"命令发现Java进程CPU占用过高,基本上接近 CPU核数 * 100%时,则可以执行以下操作。方式一步骤一:获取Java的进程PID[root@localhost ~]# ps -aux | grep java | grep -v grepjenkins 958 1.0 23.3 3688052 907380 ? Ssl 09:39 6:07

2020-07-27 19:51:22 361

原创 Linux SSH免密登录

目录结构:[root@localhost .ssh]# tree -a.├── authorized_keys├── id_dsa├── id_dsa.pub├── id_rsa├── id_rsa_2048_9417.pub├── id_rsa.pub└── known_hosts本机自实现SSH免密码登录步骤一:生成公私钥对ssh-keygen步骤二:查看是否有"authorized_keys"文件,如果有,直接将公钥追加到"authorized_keys"文件中

2020-07-27 19:20:24 99

转载 TCP异常终止分析

原文链接:(http://www.vants.org/?post=22)TCP异常终止(reset报文)TCP的异常终止是相对于正常释放TCP连接的过程而言的,我们都知道,TCP连接的建立是通过三次握手完成的,而TCP正常释放连接是通过四次挥手来完成,但是有些情况下,TCP在交互的过程中会出现一些意想不到的情况,导致TCP无法按照正常的四次挥手来释放连接,如果此时不通过其他的方式来释放TCP连接的话,这个TCP连接将会一直存在,占用系统的部分资源。在这种情况下,我们就需要有一种能够释放TCP连接的机

2020-07-21 18:57:56 81

原创 OpenResty 火焰图工具

什么是火焰图?火焰图和直方图、曲线图一样,是一种分析数据的方式,它可以更直观、更形象地展示数据,让人很容易发现数据中的隐藏信息。之所以叫火焰图,是因为这种图很像一簇火焰。火焰图展现的一般是从进程(或线程)的堆栈中采集来的数据,即函数之间的调用关系。从堆栈中采集数据有很多方式,下面是几种常见的采集工具:Performance Event SystemTap DTrace OProfile Gprof数据采集到了,怎么分析它呢?为此,Brendan Gregg开发了专门把采样到的堆栈轨迹(

2020-07-21 16:50:23 488

原创 OpenResty 获取当前毫秒数时间戳

从 nginx 的时间缓存(不像 Lua 的日期库,该时间不涉及系统调用)返回当前的日期(格式: yyyy-mm-dd )。

2020-07-21 16:21:45 1763

转载 nginx 错误日志分析

一、Nginx配置和内核优化 实现突破十万并发二、一次Nignx的502页面的错误记录(1)错误页面显示错误日志:2017/07/17 17:32:57 [error] 29071#0: *96 recv() failed (104: Connection reset by peer) while reading response header from upstrea...

2019-08-01 15:12:51 2044 1

原创 target_compile_features specified unknown feature cxx_std_11 for target...

根据从网上查资料得知是cmake版本太低的原因,故需重编cmake.cmake地址:https://cmake.org/files(找到最新版)执行 :tar xvfcmake-3.15.0.tar.gz./configuremake && make install...

2019-07-30 22:55:49 1355

原创 centos7 安装 netstat 查看端口

yum install -y net-tools

2019-07-25 13:15:28 391

原创 ubuntu安装 zlib

sudo apt-get install zlib1g-dev

2019-07-04 14:38:18 1001

转载 ubuntu apt-get不可用的解决办法

错误信息:解决方案:1、ps -aux | grep apt 查看apt进程号2、sudo kill -9 [processes number]3、sudo rm /var/lib/dpkg/lock 【删除锁文件】4、sudo dpkg --configure -a 【强制配置软件包】5、sudo rm /var/lib/apt/lis...

2019-07-04 14:25:46 2302

原创 修改 /usr目录权限导致sudo不可用的解决方案

1、利用恢复模式去还原重启ubuntu,反复按 Esc 或者 shift 键位,进入recovery模式,选择 ubuntu高级接着选择 ubuntu, with Linux 4.13.0-38-generic(recovery mode)接着选择 root 字样的选项此时进入命令行模式, 输入以下命令:su rootchown -R root:root /usr...

2019-07-04 13:27:55 1155

原创 Python安装报错:”ModuleNotFoundError:No module named _ctypes“ 的解决方案

1.下载安装包https://www.python.org/ftp/python/ 该目录下选择所需要的版本进行下载、解压。wgethttps://www.python.org/ftp/python/3.7.1/Python-3.7.1.tgztar-xzvf Python-3.7.1.tgz2.二进制文件安装  1.创建存放目录mkdir/usr/l...

2019-07-04 13:15:20 105793 10

原创 linux如何后台运行服务

如何开启:1.nohup用途:不挂断地运行命令。语法:nohup Command [ Arg … ] [ & ]  无论是否将 nohup 命令的输出重定向到终端,输出都将附加到当前目录的 nohup.out 文件中。  如果当前目录的 nohup.out 文件不可写,输出重定向到 $HOME/nohup.out 文件中。  如果没有文件能创建或打开以用于追加,那么...

2019-04-12 16:19:45 19668

转载 redis的哨兵模式

一.什么是哨兵机制?答:Redis的哨兵(sentinel) 系统用于管理多个 Redis 服务器,该系统执行以下三个任务:监控(Monitoring): 哨兵(sentinel) 会不断地检查你的Master和Slave是否运作正常。提醒(Notification):当被监控的某个 Redis出现问题时, 哨兵(sentinel) 可以通过 API 向管理员或者...

2019-04-11 09:31:56 46

原创 linux 大多数命令失效的解决方式

当你登录服务器,使用ls ll rz sz vi vim 等等一系列的命令无法使用的时候那就说明你的 /etc/profile文件出现了问题,这时候你的vi vim 都不能使用,请用如下方式解决:其一:直接在linux命令行界面输入如下,然后回车(导入环境变量,以及shell常见的命令的存放地址):export PATH=/usr/local/sbin:/usr/local/...

2019-04-09 08:49:22 1156

原创 centos7下安装redis

一、安装redis第一步:下载redis安装包wget http://download.redis.io/releases/redis-5.0.4.tar.gz第二步:解压压缩包tar -zxvfredis-4.0.6.tar.gz第三步:yum安装gcc依赖(取决你你本机有没有gcc)yum install gcc第四步:进入到redis的解压目录下:cd re...

2019-04-07 09:00:17 62

原创 python3 redis的订阅发布机制

Redis 发布订阅(pub/sub)是一种消息通信模式:发送者(pub)发送消息,订阅者(sub)接收消息。Redis 客户端可以订阅任意数量的频道。下图展示了频道 channel1 , 以及订阅这个频道的三个客户端 —— client2 、 client5 和 client1 之间的关系:当有新消息通过 PUBLISH 命令发送给频道 channel1 时, 这个消息就会被发送...

2019-04-04 12:09:28 648

转载 python 使用共享内存 c语言构建内存

测试环境 centos7 python3.6.5首先使用c创建内存,这里的方法是:作为参数读一个二进制数据文件进去,把文件的内容作为共享内存的内容定义块#include <stdio.h>#include <sys/shm.h>#include <string.h>int main(int argc, char *argv[]){...

2019-04-03 20:04:27 2221

转载 python 多进程之间共享变量

多线程 进程间共享变量等1、进程间共享变量 self.val=Value('i',init_value)#进程间共享变量及列表类型class Counter(object): def __init__(self, ini=0): self.val = Value('i', ini) self.lock = Lock() def in...

2019-04-03 10:35:09 9096

空空如也

空空如也

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

TA关注的人

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