自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

一个小白的求知路

一个小白的求知路

  • 博客(92)
  • 资源 (1)
  • 收藏
  • 关注

原创 在 centos 中安装 uwsgi 报错

【代码】在 centos 中安装 uwsgi 报错。

2022-10-17 11:21:47 394 1

原创 使用 cephadm 部署 aio ceph

安装 官方提供了两种简单的安装方式(官方链接),但是第一种安装方式不支持在 中安装,第二种安装方式的 无法加载,还有一种手动安装方式如下,官方链接其中 改为 版本, 根据操作系统修改,可以使用 命令查看,创建 ceph 集群初始化 ceph为 Ceph 集群生成一个新的 SSH 密钥,并将其添加到 root 用户的 /root/.ssh/authorized_keys 文件中,将与新集群通信所需的最小配置文件写入/etc/ceph/ceph.conf,将 管理(特权!)秘密密钥的副

2022-07-01 17:46:04 565

原创 查看 openstack 组件日志

openstack 部署方式 kolla-ansible使用 kolla-ansible 部署方式时,所有组件的日志文件会外挂到宿主机上(都是使用容器启动的),可以在相应节点的 /var/log/kolla/ 目录下查看,下图为各个组件的日志目录进入你想要查看的组件的文件夹即可查看日志...

2022-06-16 10:24:45 913

原创 安装openstack—all-in-one

准备工作软件准备系统环境ubuntu 20.04虚拟机VMware Workstation安装方式devstack这里我们使用ubuntu作为环境,原因是ubunt本身就有python2和3版本,可以减少很多的因为python环境造成的bug下载ubuntu官方地址:https://cn.ubuntu.com/(中文地址) https://ubuntu.com/(英文地址)在中文页面发现有个有趣的东西下载VMware Workstation可以去官方地址,也可以在链接:http

2021-09-13 11:51:51 868 2

原创 在Jenkinsfile脚本中使用scp命令

使用scp的原因现在有一个项目,环境基本不变,使用jenkins更新时只更新代码提前准备我所使用的环境CI/CDjenkins+k8s+rancher+gitlab安装sshpass这里我使用的是sshpass,可以直接把用户名和密码输入。ubuntusudo apt install sshpass运行sshpass如果使用的是docker,要在docker容器中启动scp命令,如果是在服务器上直接启动jenkins,要在服务器上运行一下scp编写Jenkinsfile在创建工作流

2021-07-20 15:11:16 1714

原创 在ubuntu使用rancher启动k8s

安装rancher配置docker的镜像源进入这个文件/etc/docker/daemon.json如果没有创建这个文件里面添加ali的镜像源{ "registry-mirrors": ["https://registry.docker-cn.com"]}重启docker服务sudo service docker restart使用docker启动rancherdocker run -d --restart=unless-stopped \ -p 8081:80 -p 8443:

2021-07-05 16:14:04 409

原创 获取指定目录下所需要的文件

import glob# 指定的目录地址folder_path = '/home/w/Pictures/'# pathname在这里填写匹配规则,我这里使用的匹配后缀的方式,匹配所有后缀是png的图片,"*"表示匹配任何字符path_file_number=glob.glob(pathname='{}*.png'.format(folder_path))print("返回所有符合条件的文件",path_file_number)print("符合条件文件的数量",len(path_file_num

2021-07-02 14:32:36 171

原创 chrome同步或登录报错:Request Canceled

原因因为某个接口连接失败造成,可以摁快捷键F12或者点击开发者工具。然后选择network,这里面是该页面所有的收发请求开始登录,登录的时候要注意network中pending或者报错的接口,然后把域名记录下来解决方式安装chrome插件Proxy-SwitchyOmega,安装后把那些pending和报错的接口添加进去,然后保存再继续登录...

2021-06-23 11:08:20 6091 3

原创 使用drf-yasg自动生成swagger-api文档

所需要的python库drf-yasg django djangorestframework安装drf-yasg库pip install drf-yasg配置#setting.py文件REST_FRAMEWORK = { 'DEFAULT_SCHEMA_CLASS': 'rest_framework.schemas.coreapi.AutoSchema'}# swagger 配置项SWAGGER_SETTINGS = { # 基础样式 'SECURIT

2021-06-07 19:33:31 1214 3

原创 使用drf_yasg2下载自动生成的api文档的json或yaml文件

配置项# setting.py文件SWAGGER_SETTINGS = { 'DEFAULT_INFO': 'server.urls.openapi_info' # 这个是url配置文件中的openapi对象,就是下面这个}# urls.pyopenapi_info = openapi.Info( title="模板数据管理服务", default_version='v1', description="模板数据管理服务", # te

2021-06-07 19:10:28 722

原创 django3.2使用django-rest-swagger生成文档报错‘staticfiles‘ is not a registered tag library

报错信息django.template.exceptions.TemplateSyntaxError: 'staticfiles' is not a registered tag library. Must be one of:admin_listadmin_modifyadmin_urlscachei18nl10nlogrest_frameworkstatictz[04/Jun/2021 15:42:32] "GET /docs HTTP/1.1" 500 184203造成原

2021-06-04 16:00:32 546

原创 flask初始化一个项目

安装flaskpip install flask项目目录一个简单的目录结构,app目录下放置应用相关文件,server目录下放置关于配置的一些文件,使用的数据库是sqlite- app- __init__.py- views.py 视图- server- __init__.py falsk的项目入口信息- configure.py 配置信息- create_table.sql 创建表的sql文件- run.pyconfigure.py这个文件中总共分为4各类,C

2021-04-26 17:45:58 1696 2

原创 微服务软件测试方案

测试策略为什么要进行软件测试详尽的测试可以使得被测试系统健壮性大大提升

2021-04-20 16:44:51 651 2

原创 python随笔

再看匿名函数发现一个有意思的东西一个 * 代表乘,两个 ** 代表平方代码f = lambda x: x*xprint(f(3))运行结果代码f = lambda x: x**xprint(f(3))结果于是我又接着尝试了/,结果发现一个 / 的数据类型是float,两个 // 的数据类型为int代码如下f = lambda x,y: x/yf1 = lambda ...

2021-04-07 10:37:44 47

原创 django manage.py 命令

[auth] changepassword 更改密码 createsuperuser 创建admin超级用户[contenttypes] remove_stale_contenttypes[django] check compilemessages createcachetable dbshell diffsettings...

2021-04-07 10:36:55 400

原创 cannot use i % 3 == 0 (type untyped bool) as type int

报错代码package mainimport "fmt"func main() { g(15)}func g(i int) { switch i{ case i%3==0: fmt.Print("Fizz") case i%5==0: fmt.Print("Buzz") case i%3==0 && i%5==0: fmt.Print("FizzBuzz") }}报错信息./main.go:12:2: cannot use i % 3 == 0

2021-03-25 16:19:17 1098 1

原创 golang导入本地包

golang导入本地包创建初始化文件与python一样如果要导入本地包需要创建初始化文件,go创建初始化文件的方式有两种一种是命令的方式go mod init <包名>,还可以手动创建,不过需要知道自己go的版本示例如下:创建项目创建一个名字为test的项目,该项目目录下有calculator目录和tt目录,calculator目录下有Sum.go(实现功能的文件),tt下面有main.go项目入口文件。项目结构如下编写函数功能编写Sum.go中的功能函数,这是一个简单的两数相加

2021-03-24 09:46:53 5593

原创 golang变量和常量

声明变量声明变量需要使用关键字var,其中firstName自定义变量,string是变量的类型var name string申请单个类型相同的变量也可以用“,”号隔开var name,address string申请多个类型的多个变量var ( name,address string age int)初始化变量已经被声明的变量赋值直接使用 “=” 号赋值var ( name,address string age int)name, address = "

2021-03-18 10:42:19 193

原创 golang函数的值传递和引用传递

值传递python对于字符串和数字作为参数传递时,在函数中如果直接修改,程序会生成一个新的内存地址存储新的值,所有操作都是在函数内部操作仅仅是局部变量,由于是值传递,所以该函数的对该值所有操作都仅限于该函数内,并没有对参数t1进行修改。详情看下面的实例代码。def test(a): print('a', a, "内存地址", id(a)) a += "qq" print('a', a, "内存地址", id(a)) a += "ww" print('a', a,

2021-03-18 10:41:50 838

原创 saga

什么是saga由于微服务架构中,每个服务都是独立的数据库,但是系统中的数据一致性是必须的,saga模式就是保证系统中数据一致性而设计的本篇以订单服务为例解释saga服务生成订单的整个流程该流程共有4个服务,分别为订单服务(生成订单),消费者服务(验证用户权限),账户服务(付钱之类),后厨服务Created with Raphaël 2.2.0订单流程订单服务创建1个审批等待的订单消费者服务验证该用户是否可以下单账户服务提供用户付费的授权操作后厨服务把订单状态改为等待接受状态订单服务把订单状态改为接

2021-03-08 17:10:05 7913 2

原创 微服务的优、缺点

微服务的特点每一个服务都是独立的每一个服务都有自己的数据库比较微服务和soaSoa微服务服务间通信智能管道(Smart pipes),如企业服务总线,使用重量级协议,如soap和其他的ws标准哑管道(Dumb pipes),如消息代理,使用轻量级协议(如rest或gPRC)的直接服务对服务通信数据全局数据模型和共享数据库每个服务都有自己的数据模型和数据库代表性的服务大型的复杂的单片应用。通常是由多个大型服务组成小型服务。通常是由几十个或几百个较小的服

2021-03-03 19:24:56 1366 1

原创 伸缩立方(scale cube)

这是一个三维的立体模型,分为x轴伸缩(水平复制,单个系统、服务,),y轴伸缩(按功能或服务拆分),z轴伸缩(对数据或用户进行切片,定向分割)。其中微服务架构为y轴伸缩。如下图x轴伸缩它是通过一个负载均衡器生成多个相同的实例,每一个实例处理1/n负载。缺点每个实例都访问全部数据且它不解决增加开发和应用程序复杂性问题z轴伸缩它也是复制多个实例,但是不同的是每个实例所处理的数据都是总数据的一个子集,实例前面的路由器使用请求属性将其路由到适当的实例。例如通过rest api判断出用户a,b,c,就让这些

2021-03-03 16:37:57 664 2

原创 在shell文件中启动anaconda的虚拟环境

环境:ubuntu:20.04conda:4.8.4如果直接在shell文件中这样写#!/bin/bashconda activate filesystem它会让你初始化CommandNotFoundError: Your shell has not been properly configured to use 'conda activate'.To initialize your shell, run $ conda init <SHELL_NAME>Curr

2021-01-22 00:02:48 2825 3

原创 golang中的栈帧

这是一个32位的操作系统栈:启动程序后操作系统分配的空间栈帧: 当函数运行时,需要存储空间,这些空间就叫做栈帧用来给函数运行提供内存空间,取内存于stack上当函数调用时,产生栈帧。函数调用结束,释放栈帧栈帧存储:1.局部变量 2.形参(形参的地位和局部变量的地位相同)3.内存字段描述值...

2021-01-19 20:22:35 563

原创 安装golang

安装环境:ubuntu:20.04golang:1.15.6使用官网上的压缩包安装。官方文档下载golang源码 https://golang.org/dl/go1.15.6.linux-amd64.tar.gz把压缩包解压到指定目录下tar -C /usr/local -xzf go1.15.6.linux-amd64.tar.gz

2021-01-19 20:22:17 240

原创 如何调用rancher2 api

首先创建一个api key 获取api&key的官方文档,直接进入rancher的ui界面获取点击下图红框获取key点击添加key按钮,作用范围不要选择,然后点击创建创建好会给我们一个用户api key信息,需要把里面的信息记录下来然后我们可以根据上面的信息请求这里使用的是python脚本请求import requestsimport pprinturl = 'https://192.168.11.166/v3'headers = {"Accept":"application

2021-01-14 22:20:42 3414

原创 连接docker启动的mysql,作为数据库

环境:ubuntu 20.04 python 3.7 mysql 5.7从dockerhub pull mysql的官方镜像,并启动可以直接使用命令docker run --name some-mysql -v /my/own/datadir:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=my-secret-pw -d mysql:tag其中–name是启动容器的名字,-v表示挂载的目录(做持久化存储使用,容器中产生的文件保存到挂载的目录中,前面是本机路径后

2020-12-30 18:32:57 969

原创 使用celery创建定时任务

测试环境:ubuntu:20.04python:3.6django:2.2celery:4.4.7创建django项目添加celery的配置文件,目录结构如下图修改配置文件这里我使用redis作为消息中间件,任务的信息和结果返回都存储在redis中。/proj/settings.py文件CELERY_BROKER_URL = 'redis://localhost:6379/0' # 工人信息,以及任务信息CELERY_ACCEPT_CONTENT = ['json']CELERY_

2020-11-16 20:26:16 513 2

原创 使用swagger editor编辑api接口

创建环境使用docker创建环境简单快速docker run -d -p 8100:8080 swaggerapi/swagger-editor然后打开浏览器输入0.0.0.0:8100进入swagger editor开始编辑编辑按照restful规范编辑接口swagger: '2.0'info: title: '' description: '' version: 1.0.0 termsOfService: '' contact: email: test@ema

2020-08-31 16:50:12 1609 1

原创 Unknown command:rqworker

环境python 3.6os ubuntu20.04django 2.2django-rq 2.2启动rqwork服务时报错 Unknown command: ‘rqworker’第一种情况看项目所用的django-rq是否安装成功第二种情况django-rq是否添加到注册app的install_app[]中

2020-06-12 15:34:35 331

原创 django的预览文件接口及视频文件的分段读取数据

环境ubuntu 20.04python 3.6django 2.2使用的是django自带的streamingHttpResponse库from django.http import StreamingHttpResponsetry: # 这里创建返回 其中data为文件二进制字节流 response = StreamingHttpResponse(data)) file_type = fileObj.filetype # 注意格式 response[

2020-06-10 10:02:27 752

原创 发送图片报错ConnectionResetError: [Errno 104] Connection reset by peer

环境ubuntu 20.04python 3.6django 2.2产生的原因我在网上搜的大概有一下几种服务器的并发连接数超过了其承载量,服务器会将其中一些连接关闭;如果知道实际连接服务器的并发客户数没有超过服务器的承载量,则有可能是中了病毒或者木马,引起网络流量异常。可以使用netstat -an查看网络连接情况。客户关掉了浏览器,而服务器还在给客户端发送数据;浏览器端按了Stop;这两种情况一般不会影响服务器。但是如果对异常信息没有特别处理,有可能在服务器的日志文件中,重复出现该异常,造

2020-06-10 09:48:36 16058

原创 使用django-rq实现django的异步请求

环境:Ubuntu 19.10python 3.6django 2.1django-rq 2.2安装django-rqpip install django-rq使用方式配置settings# django-rq配置RQ_QUEUES = { 'default': { 'HOST': 'localhost', 'PORT': 6379,...

2020-01-09 10:26:47 2085

原创 django从下载hdfs下载文件

hdfs下载本地with client.read('features') as reader: features = reader.read() f = open('1.jpg', 'wb') f.write(features)通过web下载文件信息在mysql中有备份,从mysql中得到文件的名字,再从hdfs找到该文件settings# hdfs配置HDFSCLI_T...

2019-12-02 17:11:04 586

原创 django实现文件上传,并计算md5值,把md5值作为文件名

加密函数import hashlibfrom functools import partialdef md5(data, block_size=65536): # 创建md5对象 m = hashlib.md5() # 对django中的文件对象进行迭代 for item in iter(partial(data.read, block_size), b''...

2019-11-28 15:46:42 1334

原创 使用django-sendfile

在settings文件添加SENDFILE_BACKEND = "sendfile.backends.development"api接口from django.views.generic import Viewfrom sendfile import sendfileimport osclass GetFile(View): def get(self, request): ...

2019-11-08 13:48:08 828

原创 使用dokcer在pycharm运行django

创建一个djangohuanjing我用的

2019-11-01 16:02:12 160

原创 docker snap.docker.service not loaded

启动docker服务时报错sudo service docker start错误信息Failed to stop snap.docker.service: Unit snap.docker.service not loaded.错误原因,我觉得因为我装了snap,所以装docker前面多了snap解决办法sudo service snap.docker.dockerd start...

2019-10-31 20:10:01 1988

原创 Ubuntu装navicat,修改乱码

下载,安装下载地址下载后解压缩,打开文件夹,在命令行输入./start_navicat,启动navicat。在启动之前,打开start_navicat修改乱码修改成下图进入navicat,打开工具->选项常规界面字体修改,如果选不了直接在框内输入AR PL UKai CN编辑器,也一样AR PL UMing CN记录,AR PL UKai CN...

2019-10-28 19:38:51 195

原创 mysql修改权限+重置密码

环境:ubuntu:18.04mysql:5.7.27首先打开/etc/mysql文件夹,找到debian.cnf,然后用root权限打开sudo vi debian.cnf使用这个user和password登录你的mysqlmysql -udebian-sys-maint -pBAlb7ZppexbfHrIx;登录后进入mysql数据库user表,找到你需要修改的用户,...

2019-10-25 09:38:14 231

pagiation.py

从数据库中取出的文件和文件夹信息,对他们进行分页,文件夹在前文件在后,文件夹信息不够时文件信息补充。

2020-08-20

空空如也

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

TA关注的人

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