- 博客(71)
- 收藏
- 关注
原创 flask为每次请求添加一个id标记
场景api日志在打印的过程中,并不是一个请求的日志集中在一起大批量请求的时候,日志打印的很混乱,想要找到单个api请求的日志(很难)需求每次请求之前设置当前api有个特殊的ID,请求另外一个api也生成一个id,并且两个api的id独立,互不影响方法库github地址pip install flask_request_iddemo# coding: utf-8from flask import Flaskapp = Flask(__name__)from flask_
2021-01-19 17:15:21 7263 2
原创 python日志通过不同的等级打印不同的颜色
# coding: utf-8import loggingBLACK, RED, GREEN, YELLOW, BLUE, MAGENTA, CYAN, WHITE = range(8)RESET_SEQ = "\033[0m"COLOR_SEQ = "\033[1;%dm"COLORS = { 'WARNING': GREEN, 'INFO': WHITE, 'DEBUG': BLUE, 'CRITICAL': YELLOW, 'ERROR': RED
2021-01-12 16:40:58 5755 2
原创 k8s二进制安装-1,准备工作
准备工作 每台机子都执行关闭selinuxif [[ $(getenforce) -eq 'Enforcing' ]]then setenforce 0;sed -i 's/=enforcing/=disabled/' /etc/selinux/config;fi关闭防火墙systemctl stop firewalldsystemctl disable firewalld关闭swapswapoff -ased -i '/swap/s/^/#/' /etc/fstab添加环境变量
2021-01-08 15:02:14 5106
原创 gunicorn的命令参数解释
gunicorn -w 200 -b host:port uwsgi:application-w-w INT, --workers INT The number of worker processes for handling requests.-w 后面假一个数字表示 处理请求的最大进程数–threads INT同理处理请求的最大线程数-b-b ADDRESS, --bin...
2019-11-22 12:56:43 7713
原创 flask开启异步任务
场景我们的服务在接口中可能会调用一个函数,而这个函数运行的状态我们需要在另外一个接口查看,celery需要消息队列,但是过于复杂,对于不适用消息队列的服务,我们就需要一个异步的操作,开启了那个异步的任务,但是我们能够直接返回创建成功的状态from concurrent.futures import ThreadPoolExecutorexecutor = ThreadPoolExecutor...
2019-09-27 16:36:25 6332
原创 Django中使用Websocket
websocket的配置 Daphne + Channels常规的视图函数进行的是http请求,Django中使用channels库将websocket请求添加到部分子路由中1,在项目同名子目录下添加routing,py文件# mysite/routing.pyfrom channels.routing import ProtocolTypeRouterapplication = P...
2019-09-09 02:07:43 6118
原创 kafka的理论知识(干货)
kafkakafka的组件Created with Raphaël 2.2.0开始producer(发送消息:生产者)kafka集群consumer(消息接受者:消费者)结束kafka依赖zookeeper保证系统可用性集群保存一些mate信息(元)Topics一个topics可以看作为一类信息每个topics分为多个partition(区)每个partition在存储层面是a...
2019-09-09 01:55:50 5104
原创 Django中对路由接口可视化的插件使用
配置环境pip install drf_yasgpip install drf_generatorspip install packaging配置路由from drf_yasg import openapi # from rest_framework import permissionsfrom drf_yasg.views import get_schema_view...
2019-09-06 01:06:19 5400 1
原创 centos安装指定版本的openssl
下载地址官网地址:https://www.openssl.org/source腾讯云地址:http://mirrors.cloud.tencent.com/openssl/source/这里以openssl-1.1.1e为例下载安装包wget https://mirrors.cloud.tencent.com/openssl/source/openssl-1.1.1e.tar.gz安装依赖yum install -y zlib zlib-develyum install -y gcc
2021-12-22 17:00:04 2785
原创 使用openssl签发服务端、客户端证书
1,生成ca证书1,生成ca.keyopenssl genrsa -out ca.key 10242,生成csr文件openssl req -new -out ca.csr -key ca.key3,创建根证书,有效期10年openssl x509 -req -in ca.csr -out ca.crt -signkey ca.key -CAcreateserial -days 36502,生成服务端证书1,生成服务端私钥server.keyopenssl genrs
2021-12-22 16:52:13 1372
原创 python 加密字符串
from Crypto.Cipher import AESimport base64BLOCK_SIZE = 16 # Bytespad = lambda s: s + (BLOCK_SIZE - len(s) % BLOCK_SIZE) * \ chr(BLOCK_SIZE - len(s) % BLOCK_SIZE)unpad = lambda s: s[:-ord(s[len(s) - 1:])]def aesEncrypt(key, data):
2021-05-24 18:19:53 1799
原创 pip 按照requirements.txt安装到对应的package名称的文件中
假设requirement.txt中的celery==4.0.2当我需要离线下载requirements.txt中的内容,并且按照库名创建一个文件,并将这个版本放到这个目录下#!/bin/bashfile_name=$1base_dir=$2for package_name in `cat $file_name` ; do echo $package_name arr=(`echo $package_name | tr '==' ' '`) dir_name=$
2021-03-29 13:36:47 1311
原创 k8s二进制安装-14,部署corndns
下载corednswget http://xxxx/network/coredns.yamlkubectl apply -f coredns.yaml
2021-02-17 09:34:39 5213 2
原创 k8s二进制安装-13,授权apiserver访问kubelet
cat > apiserver-to-kubelet-rbac.yaml << EOFapiVersion: rbac.authorization.k8s.io/v1kind: ClusterRolemetadata: annotations: rbac.authorization.kubernetes.io/autoupdate: "true" labels: kubernetes.io/bootstrapping: rbac-defaults name
2021-02-17 09:33:34 5459
原创 k8s二进制安装-12,部署网络插件
flannel和calico的选型flannel优点: 部署简单,将网络配置生效在本机的iptables中缺点: 依赖docker网络,长时间不使用,会和docker0桥不在同一个网段,kube-proxy无法代理容器内部的网络calico优点: 支持ipvs和ipv6,将所有的网络规则写入etcd数据库中缺点: 部署复杂,保罗多种网络配置,需要一点的网络支持才能使用二进制和pod管理的选型网路组件在k8s中很重要,但是一般都是最后一步部署,完全你可以依赖的k8s环境进行自动部署网
2021-02-17 09:32:27 5113
原创 k8s二进制安装-11,cni配置
下载cni网络wget http://xxxx/1.18/cni-plugins-linux-amd64-v0.8.6.tgz安装mkdir -p /opt/cni/bintar zxvf cni-plugins-linux-amd64-v0.8.6.tgz -C /opt/cni/bin
2021-02-17 09:31:12 5658
原创 k8s二进制安装-10,安装kube-proxy
创建证书请求文件cd /usr/local/src/ssl/cat > kube-proxy-csr.json <<EOF{ "CN": "system:kube-proxy", "hosts": [], "key": { "algo": "rsa", "size": 2048 }, "names": [ { "C": "CN", "ST": "ShangHai", "L": "ShangHai",
2021-02-17 09:29:08 5549 1
原创 k8s二进制安装-9,安装kubelet
cp /usr/local/src/kubernetes/server/bin/kubelet /opt/kubernetes/bincp /usr/local/src/kubernetes/server/bin/kube-proxy /opt/kubernetes/bin创建配置文件cat > /opt/kubernetes/cfg/kubelet.conf << EOFKUBELET_OPTS="--logtostderr=false \\--v=2 \\--hostn.
2021-02-17 09:26:39 5735
原创 k8s二进制安装-8,安装docker
下载dockerwget http://xxxx/docker-19.03.9.tgztar zxvf docker-19.03.9.tgzmv docker/* /usr/binsystemd管理dockercat > /usr/lib/systemd/system/docker.service << EOF[Unit]Description=Docker Application Container EngineDocumentation=https://docs.do
2021-02-17 09:25:13 5187
原创 k8s二进制安装-7,安装kube-scheduer
cat > /opt/kubernetes/cfg/kube-scheduler.conf << EOFKUBE_SCHEDULER_OPTS="--logtostderr=false \--v=2 \--log-dir=/opt/kubernetes/logs \--leader-elect \--master=127.0.0.1:8080 \--bind-address=127.0.0.1"EOFsystemd管理schedulercat > /usr/lib
2021-02-17 09:24:06 5086
原创 k8s二进制安装-6,安装kube-controller-manager
cat > /opt/kubernetes/cfg/kube-controller-manager.conf << EOFKUBE_CONTROLLER_MANAGER_OPTS="--logtostderr=false \\--v=2 \\--log-dir=/opt/kubernetes/logs \\--leader-elect=true \\--master=127.0.0.1:8080 \\--bind-address=127.0.0.1 \\--allocate-
2021-02-17 09:23:21 5333 1
原创 k8s二进制安装-5,安装kube-apiserver
下载kubernetes 二进制文件cd /usr/local/src/wget http://xxxxx/1.19/kubernetes-server-linux-amd64.tar.gz tar xzf kubernetes-server-linux-amd64.tar.gz kubernetescd kubernetes/server/bin/cp kube-apiserver kube-controller-manager kube-scheduler kubectl /opt/kuber
2021-02-17 09:21:55 6114 2
原创 python协程、协程池、协程锁
如何开启协程from gevent import monkey; monkey.patch_socket()import geventdef f(n): for i in range(n): print gevent.getcurrent(), ig1 = gevent.spawn(f, 5)g2 = gevent.spawn(f, 5)g3 = gevent.spawn(f, 5)g1.join()g2.join()g3.join()协程池from ge
2021-01-22 14:49:20 5734 1
原创 k8s二进制安装-4,安装etcd
安装etcdcd /usr/local/srcwget http://***/etcd-v3.4.9-linux-amd64.tar.gztar zxf etcd-v3.4.9-linux-amd64.tar.gzcd etcd-v3.4.9-linux-amd64cp etcd etcdctl /opt/kubernetes/bin/如果集群部署 将上面的四个文件放到node节点的/opt/kubernetes/bin目录下scp etcd etcdctl node_ip:/opt/k
2021-01-08 15:11:23 5213
原创 k8s二进制安装-3,配置ca证书
生成ca配置证书cat > ca-config.json << EOF{ "signing": { "default": { "expiry": "8760h" }, "profiles": { "kubernetes": { "usages": [ "signing", "key encipherment", "server auth",
2021-01-08 15:09:08 5447
原创 k8s二进制安装-2,安装cfssl
安装之前需要安装wget下载wget地址curl -O http://mirror.centos.org/centos/7/os/x86_64/Packages/wget-1.14-18.el7_6.1.x86_64.rpmyum install wget-1.14-18.el7_6.1.x86_64.rpm -y下载创建证书的cfsslcd /usr/local/srcwget http://***/cfssl/cfssl_linux-amd64 --no-check-certifica
2021-01-08 15:07:26 5661
原创 杀死进程的方法
最直接关机最省时间1,查看还有多少关联的进程ps -ef | grep ping 2,排除grep的pidps -ef | grep ping | grep -v grep-3, 获得所有的pidps -ef |grep ping | grep -v grep | awk '{print $2}'-4,通过这些pid 进行循环删除for i in `ps -e...
2020-01-22 14:46:33 5373
原创 mac Python安装pybloomfilter 出现找不到libcrypto的问题
获取新的库brew update && brew upgrade && brew install opensslcd /usr/local/Cellar/openssl/1.0.2t/libsudo cp libssl.1.0.0.dylib libcrypto.1.0.0.dylib /usr/local/lib/建立新的连接sudo ln -s li...
2019-11-14 19:54:40 5640
原创 tcp协议的自学之路
这两天面试中tcp的只是问了很多,也很杂,很多面试官在问的时候,对于功能问的很多最多的就是能干什么?就是辅助http协议啊,做web你觉得这个东西能干什么前面说了ip 协议就是我们在访问127.0.0.1:5000这个微服务器的时候,127.0.0.1 这个就是本地的ip 访问其他的网址要么就是ip 要门就是ip+端口5000 这个就是端口ip 协议是我们需要从我们的网路访问对方的...
2019-11-10 23:56:30 5137
原创 docker 中配置自己的mysql
分为两个方法创建一个mysql的镜像1 最基础的创建容器的方法docker run -d -p 4306:3306-e MYSQL_USER="cjwcjw" 添加用户-e MYSQL_PASSWORD="pwd123" 设置用户的密码-e MYSQL_ROOT_PASSWORD="rootpwd123" 设置root的密码--name mysql 容器名mysql 镜像名-...
2019-10-30 03:48:15 5322
原创 dockerfile编写前端部署的代码
一般来说前后端分离的话部署就是用nginx做转发也可以把前端的代码做成静态的文件server { listen 80; server_name 0.0.0.0; location / { root /usr/share/nginx/html; index index.html index.htm; }}...
2019-10-18 11:06:23 5862
原创 docker-compose.yaml的编写
当我们打包好了镜像的时候,一个一个区整理的时候,也是很浪费功夫,尤其是我们修改了一些代码的时候version: "2"services: mysql: image: harbor.pinlandata.com/pinlan/anji-standalone:mysql hostname: mysql ports: -...
2019-10-18 11:05:17 5467
原创 dockerfile的编写
前面有一些docker的常用命令,这篇文章是我这段时间的一些收获吧,dockerfile的编写,利用dockerfile打包自己想要的镜像(后台的服务)dockerfile可以帮助我们直接打包好我们在服务器上面的操作,这是一种很NB(流氓)的操作,一般我们在服务器部署的时候,会有很多的命令去提前部署,但是docker 镜像打包好了之后,不要启动这个镜像,就可以省去很多的准备工作1, FROM...
2019-10-18 10:51:39 5258
原创 pandas读取sql 保存到excal中
之前也有类似的项目,用的插件过于傻瓜 ,新学的一个小技能pandas具体内层怎么实现,没有深究,但是怎么使用,在下面做出解释import pandas as pdimport pymysqldef fun() return datasql = ""conn = pymysql.connect(database = "",user="",password="",host="",port=...
2019-09-27 16:45:33 5051
原创 centos安装mongodb
-/etc/yum.repos.d/mongodb-org-4.0.repo[mongodb-org-4.0]name=MongoDB Repositorybaseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/4.0/x86_64/gpgcheck=1enabled=1gpgkey=https://www...
2019-09-09 06:33:21 4901
原创 linux配置zsh终极篇(效率的开始)
安装sudo yum install zsh或者sudo apt-get install zshoh-my-zshsudo wget https://github.com/robbyrussell/oh-my-zsh/raw/master/tools/install.sh -O - | sh切换终端(需要重新进入终端)chsh -s /usr/local/bin/zsha...
2019-09-09 04:16:50 6329
原创 Centos安装python3并设为默认
"""编译安装$ sudo mkdir /usr/local/python3 # 创建安装目录# 下载 Python 源文件$ wget --no-check-certificate https://www.python.org/ftp/python/3.6.0/Python-3.6.0.tgz# 注意:wget获取https的时候要加上:--no-check-certificate...
2019-09-09 02:26:39 5644
原创 mongo数据库的操作(aggtegate聚合操作详解)
"""conn = pymongo.Connection()collection = conn.dbname.collection_name#match用户筛选,相当于sql语句中的where后面的表达式match = {}match['date'] = { '$gte' : '2015-08-21', #大于等于2015年8月21日的 '$lte' : '2015-0...
2019-09-09 02:04:41 5294
原创 mongo数据库的操作(基础篇)
远程登录mongo 地址:端口/库名 -u 用户名 -p 密码查看数据库列表show dbs进入数据库use 数据库名查看当前所在的数据库db创建数据库插入数据,就能创建数据库删除数据库use 数据库名db.dropDatabases()集合的操作(表)列出所有的表show collections创建集合db.createCollection('表...
2019-09-09 02:03:18 5377
原创 mongo数据库的操作(update和insert)
"""update() 方法用于更新已存在的文档。语法格式如下:db.collection.update( <query>, <update>, { upsert: <boolean>, multi: <boolean>, writeConcern: <document> })...
2019-09-09 02:02:04 6950
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人