自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Python多线程与多进程

一、python多线程python中提供标准库threading用于对线程的支持1、创建线程python中有两种方式实现线程:1.实例化一个threading.Thread的对象,并传入一个初始化函数对象(initial function )作为线程执行的入口;import threadingimport timedef tstart(arg):time.sleep(0.5)...

2019-11-30 22:07:20 242

原创 WSGI,uwsgi, uWSGI理解

WSGI全称:Web Server Gateway Interface 翻译过来就是Web服务器网关接口;WSGI是一个规范协议,定义了Web服务器如何与Python应用程序进行交互,使得使用Python写的Web应用程序可以和Web服务器对接起来。在WSGI中定义了两个角色,Web服务器端称为server或者gateway,应用程序端称为application或者framework(因为WS...

2019-11-29 09:24:17 638

原创 redis 集群部署

部署方式:docker-compose以此镜像启动容器编写docker-compose文件启动六个容器。三个主,三个从vi docker-compose.ymlversion: "3.2"services: redis-clu-m1: image: redis-ruby container_name: "redis-clu-m1" expose...

2019-11-26 20:47:23 153

原创 Python深浅拷贝的区别

一、可变对象与不可变对象可变对象:一个对象在不改变其所指向的地址的前提下,可已修改地址中的值不可变对象:一个对象的地址是不能修改的,如果修改了这个对象的值,他所指向的地址也会改变常见不可变元素包含:int,float,complex,long,str,unicode,tuple二、深浅拷贝注意点:可变元素的拷贝深浅拷贝看上去都会生成一个相同的值,但是拷贝出来的地址不同。浅拷贝...

2019-11-26 20:41:04 1118

原创 部署redis集群报错:ERR Slot 0 is already busy (Redis::CommandError)

一、报错信息:ERR Slot 0 is already busy (Redis::CommandError)二、原因分析:这是由于之前搭建集群是,slot 被占用了,清理一下之前数据,重启就可三、解决:redis-cli#执行如下两条命令即可flushallcluster-reset再次启动:问题解决!!...

2019-11-26 17:57:32 1693

原创 redis面试全面总结

一、常见应用场景秒杀的库存扣减,APP首页的访问流量高峰二、与memecache的区别1、集群:redis 和memcached都支持集群2、数据类型Redis支持的数据类型要丰富得多,Redis不仅仅支持简单的k/v类型的数据,同时还提供String,List,Set,Hash,Sorted Set,pub/sub,Transactions数据结构的存储。其中Set是HashMap...

2019-11-25 17:48:08 257

原创 永久提升Chrome下载速度

一、写在前面大家平时下载东西基本都是迅雷,aria2,IDM之类的下载器。为什么呢?速度快呗。为什么同一个链接地址,浏览器和下载器的下载速度会茶这么多呢,原因在于下载器用的是多线程,而Chrome用的是单线程。所以,浏览器要想实现提速,就得采用多线程的下载方式。Chrome已经支持了,只是我们不知道。二、实现1、打开Chrome后,在地址栏输入chrome://flags2、在搜索栏...

2019-11-22 11:04:27 6829

原创 ELK-Elasticsearch 集群部署(3个Elasticsearch)

一、docker-compose.ymlversion: "3.2"services: elasticsearch: image: docker.elastic.co/elasticsearch/elasticsearch:7.4.2 container_name: elasticsearch environment: # - dis...

2019-11-21 18:01:20 546

原创 ELK部署 (docker-compose方式)

ELK的部署方式有很多种,这里我介绍一种简单的部署方式:docker-compose一、docker-compose.ymlversion: "3.2"services: elasticsearch: image: docker.elastic.co/elasticsearch/elasticsearch:7.4.2 container_name: elast...

2019-11-20 20:49:16 5466 3

原创 ELK (集中式日志管理)

一、ELK协议栈介绍及体系结构ELK其实并不是一款软件,而是一整套解决方案,是三个软件产品的首字母缩写,Elasticsearch,Logstash 和 Kibana。这三款软件都是开源软件,通常是配合使用,而且又先后归于 Elastic.co 公司名下,故被简称为ELK协议栈二、ELK 之 Elasticsearch简介Elasticsearch 是一个实时的分布式搜索和分析引擎,它可以...

2019-11-20 17:23:57 431

原创 gitlab服务器报错502,解决方法

一、报错:环境:docker-compose 起的 gitlab 服务器报错截图:二、原因分析:这个错出现过两次,每次原因都不一样。我们挨个分析。1、由于 docker-compose up 的时候挂载的本地有原来的数据,导致报错2、由于权限问题,gitlab 服务器 /var/log/gitlab权限不足导致报错三、解决:第一种原因:将本地 gitlab 目录下的 logs ,...

2019-11-19 09:28:35 2324 2

原创 免密登陆和ssh-copy-id命令解析

免密登录,需要先在本机生成公钥,然后将公钥拷贝到远程主机,拷贝的过程,既可以手动(在远程主机根目录下创建.ssh目录,然后将公钥存入该目录下authorized_keys文件中即可),也可以直接命令操作ssh-copy-id,这个操作做完了,即可免密登录远程主机。仔细回想这个过程,先在本机生成公钥,然后将公钥复制到远程主机,接着就可以免密登录远程主机,这个过程似乎与我们想想的不太一样,我们可能希...

2019-11-19 08:59:00 8855

原创 python面试基础知识(三) Django部分

1、Django请求的生命周期 a. wsgi, 创建socket服务端,用于接收用户请求并对请求进行初次封装。 b. 中间件,对所有请求到来之前,响应之前定制一些操作。 c. 路由匹配,在url和视图函数对应关系中,根据当前请求url找到相应的函数。 d. 执行视图函数,业务处理【通过ORM去数据库中获取数据,再去拿到模板,然后将数据和模板进行渲染】e. 再经过所有中间件。 f. 通...

2019-11-17 18:25:04 1098 1

原创 python面试基础知识(二)

24、合并两个元组到字典a = ("liuchuanfeng", "cangjingkong")b = (20,18)# print(dict(zip(a,b)))25、元组是不可变类型,列表是可变类型# 元组# a = (1,2,3,[4,5,6,7],8)# a[3] = 2# print(a) 报错# 列表a = (1,2,3,[4,5,6,7],8)a[3][2...

2019-11-16 20:02:22 1621 1

原创 解决无法mysqldump,提示索引用户为免密登录的报错

报错如下:mysqldump: Got error: 1449: The user specified as a definer ('skip-grants user'@'skip-grants host') does not exist when using LOCK TABLES首先查看库中存在哪些视图:show table status where comment='view...

2019-11-16 17:05:59 819 2

原创 CICD创建一个简单的maven任务

搭建环境搭建maven环境Linux的alpine版的镜像adminie_jenkins_1中apk add wgetwget http://mirror.bit.edu.cn/apache/maven/maven-3/3.6.2/binaries/apache-maven-3.6.2-bin.tar.gztar -xf apache-maven-3.6.2-bin.tar.gz -C...

2019-11-16 11:59:45 414

原创 解决jenkins:Publish over SSH报错

一、报错jenkins:Publish over SSH 私钥无效报错二、原因由于最新的密钥生成方式ssh-keygen的算法太新,Publish over SSH插件比较旧,无法识别最新的密钥导致的。也就是算法不一致导致的三、解决使用旧的方式生成密钥对ssh-keygen -t rsa -b 4096 -m PEM将私钥拷贝过来点击Test Configration,显示su...

2019-11-15 11:29:21 1468

原创 gitlab+jenkins持续集成(CI)

一、环境准备jenkins容器gitlab容器保证两个容器在同一个网段二、jenkins配置初始化之类的就不多说了,看我的博客,有详细讲解:https://blog.csdn.net/hanguofei/article/details/1026706201、安装插件2、把jenkins的公钥添加到本地gitlab的SSH-KEYS里三、gitlab配置1、在Gitlab上创建一...

2019-11-14 21:21:35 730

原创 Docker-Compose

一、Docker-Compose简介Docker-Compose项目是Docker官方的开源项目,负责实现对Docker容器集群的快速编排。Docker-Compose将所管理的容器分为三层,分别是工程(project),服务(service)以及容器(container)。Docker-Compose运行目录下的所有文件(docker-compose.yml,extends文件或环境变量文件...

2019-11-11 20:40:44 692

原创 Docker 持久化存储

持久化存储挂载卷services: redis: image: redis:latest deploy: replicas: 1 configs: - source: my_config target: /redis_config uid: '103' gid: '103' ...

2019-11-11 20:03:51 301

原创 dockerfile详解

我们可以把对容器的所有操作命令都记录到一个文件里,就像写脚本程序。之后用 docker build 命令以此文件为基础制作一个镜像,并会自动提交到本地仓库。这样的话镜像的构建会变的透明化,对镜像的维护起来也更加简单,只修改这个文件即可。同时分享也更加简单快捷,因为只要分享这个文件即可。Dokcerfile 是一个普通的文本文件,文件名一般叫 Dockerfile其中包含了一系列的指令(I...

2019-11-11 19:47:16 1293 2

原创 记一次运维开发面试

1:自我介绍2:工作内容3:你有用过哪些监控1.ZabbixZabbix是一个基于WEB界面的提供分布式系统监控以及网络监控功能的企业级开源运维平台,也是目前国内互联网用户中使用最广的监控软件。2.prometheusPrometheus是由SoundCloud开发的开源监控报警系统和时序列数据库(TSDB)。Prometheus目前在开源社区相当活跃。Prometheus和H...

2019-11-09 18:46:20 4183 3

原创 python面试基础知识(一)

1、字符串常见操作切片mystr='helloworld'mystr=mystr[1:3]# print(mystr)formatmystr2 = 'welcome, dear {name}'mystr2 = mystr2.format(name = "haha")# print(mystr2)joinmystr3 = ['luo','bo','da','za']myst...

2019-11-09 15:50:18 9641 28

原创 如何快速部署一个 python 的 Django 程序

图解:1、docker起3个容器,mysql,nginx,app用途:mysql: 后台数据库nginx: 代理app: Django程序2、配置app的conf下的xxx.ini[uwsgi]chdir = /home/jpx/auto_cmdb/auto_cmdbsocket = 172.20.0.4:80#http = 172.20.0.4:80static-ma...

2019-11-08 20:58:42 366

原创 算法:合并两个有序数组

一、题目给定两个有序整数数组 nums1 和 nums2,将 nums2 合并到 nums1 中,使得 num1 成为一个有序数组。说明:a.初始化 nums1 和 nums2 的元素数量分别为 m 和 n。b.你可以假设 nums1 有足够的空间(空间大小大于或等于 m + n)来保存 nums2 中的元素。示例:输入:nums1 = [1,2,3,0,0,0], m = 3nu...

2019-11-07 21:20:43 301

原创 docker 安装 jumpserver

一、使用 root 身份输入# 生成随机加密秘钥, 勿外泄$ if [ "$SECRET_KEY" = "" ]; then SECRET_KEY=`cat /dev/urandom | tr -dc A-Za-z0-9 | head -c 50`; echo "SECRET_KEY=$SECRET_KEY" >> ~/.bashrc; echo $SECRET_KEY; else...

2019-11-07 20:25:00 671 1

原创 Centos7安装VirtualBox

1、下载rpm包:https://download.virtualbox.org/virtualbox/6.0.14/VirtualBox-6.0-6.0.14_133895_el7-1.x86_64.rpm2、安装:yum localinstall -y VirtualBox-6.0-6.0.14_133895_el7-1.x86_64.rpm

2019-11-07 19:58:37 686

原创 算法:买卖股票的最佳时机

1、题目给定一个数组,它的第 i 个元素是一支给定股票第 i 天的价格。如果你最多只允许完成一笔交易(即买入和卖出一支股票),设计一个算法来计算你所能获取的最大利润。注意你不能在买入股票前卖出股票。示例 1:输入: [7,1,5,3,6,4]输出: 5解释: 在第 2 天(股票价格 = 1)的时候买入,在第 5 天(股票价格 = 6)的时候卖出,最大利润 = 6-1 = 5 。 ...

2019-11-05 19:08:14 172

原创 python启动Celery时报错

问题在做Celery实验,用的redis+rabbitmq.执行时报错:Unrecoverable error: SystemError("<method '_basic_recv' of '_librabbitmq.Connection' objects> returned a result with an error set")Traceback (most recent ...

2019-11-04 16:11:25 1055 1

原创 算法:删除排序数组中的重复项

1、题目给定一个排序数组,你需要在原地删除重复出现的元素,使得每个元素只出现一次,返回移除后数组的新长度。不要使用额外的数组空间,你必须在原地修改输入数组并在使用 O(1) 额外空间的条件下完成。示例一:给定数组 nums = [1,1,2], 函数应该返回新的长度 2, 并且原数组 nums 的前两个元素被修改为 1, 2。 你不需要考虑数组中超出新长度后面的元素。示例二:给定 ...

2019-11-02 17:13:40 167

原创 反向面试--最为致命

一、背景大家在面试快结束时经常会遇到面试官的反向面试:“你有什么还想了解的吗?” 或者 “你还有什么要问我的吗?”这看似是一道送分题,其实是一道送命题。很多人不明白这道题的背后是面试官对你个人眼界的考验,以及思考问题思路的考验。千万记住,不要说:“没有什么要问的了。”二、常见反向面试问题列表1、职责On-call (电话值班)的计划或者规定是什么?值班或者遇到问题加班时候有加班费吗...

2019-11-02 15:19:34 648

原创 Django View总结

2019-11-02 11:06:56 80

原创 运维架构图

2019-11-01 09:38:45 11473 2

空空如也

空空如也

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

TA关注的人

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