自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 nginx 编译安装sticky时报错处理

一般企事业单位的内网按照部门划分网段,ip hash 的负载均衡策略容易导致负载失衡,比如某个网段地址多,一些网段地址少,IP hash是基于IPv4地址的前三段来区分的(开发者可能觉得机器处理区分所有IP太累么?nginx1.24版本编译sticky模块报‘ngx_http_headers_in_t’ has no member named ‘cookies’的解决方案_error: ‘ngx_http_headers_in_t’ has no member named-CSDN博客。

2024-01-31 10:04:18 517

原创 PyVMomi 克隆虚拟机时将磁盘改为Thin模式

之前已经使用pyvmomi库实现了虚拟机的自动备份,不过由于备份的虚拟机都是较为重要的系统,磁盘都是厚置备模式,终于有一天,备份目标的空间不够了,导致几个虚拟机无法备份。在这个对象中,主要有RelocateSpec 和 configSpec两个对象,在这两个对象中都有deviceChange这个子对象,是网上找到的资料主要修改的目标。pyvmomi的示例程序比较简单,这个看起来不是很高级的需求竟然没有,看了下手动操作克隆时是可以修改的,就想着肯定是可以实现的。

2023-12-15 11:40:11 919

原创 VMWare Vcenter Server克隆虚拟机所用端口

在进行虚拟机克隆时,vcenter server 主机通过 TCP 902 和443向esxi主机发送指令,ESXi主机通过 UDP 902 向目标ESXi主机传输数据(复制虚拟机磁盘文件),当磁盘文件复制完毕后,需要将虚拟机配置文件通过vcenter server 部署到目标主机,此时需要源主机通过UDP 902端口与vcenter server 通信,vcenter server 也需要通过TCP 902端口将配置文件复制到目标主机。2. ESXi 主机需要访问的外部端口。

2023-10-07 14:18:06 1268

原创 rocky 9.2 安装gitlab-ce记录

external_url 'http://192.168.8.67' 修改为服务器的IP即可。首次登录口令在/etc/gitlab/initial_root_password 中,24小时有效。访问 https://packages.gitlab.com/gitlab/gitlab-ce。可以下载对应的安装包,rockey 9 对应的el9 这个os版本。gitlab-ctl reconfigure 使配置生效。据说prometheus 很费电,关掉。安装完毕后,系统会提示你如何配置。

2023-09-08 17:45:53 216

原创 linux环境配置 svn 及用户权限

1. 配置svnserve.conf。一、安装subversion。也可以下载源码自行编译安装。#组名=用户1,用户2。2. 配置authz。3.配置passwd。

2023-09-08 17:44:15 682

原创 mysql 8.0.34 部署问题记录

mysql 社区版下载时需要下载与操作系统版本匹配的安装包,本次遇到的问题是现在的安装包与操作系统不匹配,安装时提示了依赖包未有安装,开发组直接使用nodeps 强行安装,导致安装后数据库有莫名问题,一直无法解决。要点: 数据库安装时默认指向了/var/lib/mysql的位置,第一次启动服务时必须使用默认位置,也就是不能修改my.cnf配置,第一次启动后,关闭数据库,再来修改就OK了。安装数据库后,直接修改了my.cnf文件的datadir指向,结果数据库服务无法正常启动。(5) 刷新权限,使配置生效。

2023-09-08 17:42:44 386

原创 rsync同步文件时遇到的问题

经过检查发现,客户端 windows 10 系统中之前安装了openssh ,将cwrsync 的bin目录设置为PATH环境变量,并将其顺序放在openssh 之前,问题解决。客户端 :windows 10 ,服务器 Rocky 9.2。(3)不存在空间不足或者文件路径不对以及文件名错误等问题。(2)两侧检查rsync版本都是3.2.3。(1) 使用ssh 工具远程服务器没有问题。

2023-09-08 17:40:42 1931 1

原创 nexus 配置pypi代理

在配置pypi代理时,和配置npm、maven代理有所不同,在配置远程地址时,需要将大部分国内源带的simple目录去掉,然后在访问时再将这个simple加上。在研发环境中由于网络限制,无法访问外网,但经常使用npm、maven、pip等工具,这种场景中使用nexus 做代理是一个比较好的解决办法。https://pypi.tuna.tsinghua.com/simple ,而是将simple去掉了。此时nexus 系统提供的访问路径是。此处可以看到remote storage中的链接不是网络中常见的。

2023-06-27 11:08:04 981 1

原创 vue3 setup语法糖学习

在vue3 之前,使用data、methods、mounted等部分进行编码,当规模稍大时,data定义数据,methods定义方法看起来会显得逻辑不清,看了数据再去方法中找函数。reactive响应式对象实际上时javascript proxy ,当使用reactive函数作用域一个对象时,返回对象与原始对象已经不同。以确保无论多少次更改,更新只更新一次。ref 在模板中自动解包,所以模板中不需要value,而reactive 作用于对象,没有value这个值,模板中可以直接应用对象。

2023-04-26 09:50:08 104

原创 python matplotlib 图片显示中文

到linux系统用户的home中,./.cache/matplotlib目录中有一个json文件,查看这个文件没有找到安装的YaHei字体,但fc-list 命令看到字体是已经安装好的。我选择的是微软雅黑。解决办法: 到.cache目录中,mv matplotlib matplotllib.bk 或者直接删除这个目录即可。检查了下, 是使用matplotlib 显示标题时使用了中文,而python中的matplotlib 找不到字体。注意,这里显示的不是文件,右键复制到另外一个目录中,会发现是三个文件。

2023-03-30 15:46:45 717

原创 openssh 升级踩坑记录

openssh 升级

2023-02-06 11:34:24 1734 1

原创 smtplib 改为通过SSL 465 发送邮件

使用smtplib 发送邮件,将发送邮件的方式从25端口改为SSL 465端口

2022-08-30 10:31:13 579

原创 python 实现syslog 服务器

使用python 搭建syslog 服务器

2022-08-17 10:57:10 2261 3

原创 oracle动态监听和静态监听

为Oracle数据单独设置静态监听、动态监听,以及动态和静态混合监听。

2022-06-08 15:55:22 3673

原创 Centos 系统 安装openGauss 数据库操作记录

1. 下载安装包https://opengauss.org/zh/download.html下载完成后上传并解压到一个目录中,/opt/huawei是默认的安装目录,不要把安装包放在安装目录中,如果一定要用不想改名,就只能在安装配置xml文件中修改安装目录位置。吐槽一下: 官网给的连接和说明是下载一个all.tar.gz的文件,里面包含cm、om、tar.bz2还有一个upgrade_sql的文件,但后面安装教程只提到和用到了om。2. 安装环境要求:1) 硬件环境 内存 32G...

2022-05-18 11:21:11 1205

原创 rsync 同步windows 文件到linux踩坑及解决办法

使用cwrsync 将windows 系统下特定目录中的文件及文件夹同步到linux系统时,系统提示找不到文件: rsync: [sender] link_stat "/cygdrive/e/VisualSVNServer/Repositories/*" failed: no such file or directory (2)经过测试,发现问题在于目录中包含有中文子目录(测试发现中文名的文件不影响),解决办法为将*通配符去掉,直接从目录复制到目录。...

2022-04-27 16:53:39 1313

原创 windows openssh 远程免密登录linux

1. windows 安装openssh(略)2. windows 上生成密钥 ssh-keygen一路默认配置下来即可。3. 将.ssh目录中的id_rsa.pub 公钥文件传输到目标linux系统。比如要使用目标linux 中的test 用户免密登录,则将公钥文件传输到/home/test/.ssh目录中,然后执行cat id_rsa.pub >> authorized_keys4. 在windows 系统上尝试登录linuxssh [email protected]...

2022-04-27 15:21:27 3774

原创 centos stream 部署iscsi 服务器给windows 使用

Linux 大部分都支持iscsi服务器,不过都是通过targetcli命令行方式操作, 在加上acl 和chap认证的配置,显得略为繁琐。开源的NAS现在都太重了,并且也没有找到几款比较好用的。freenas 变成了truenas,感觉比较好用一点的openfiler好多年没有新版本了。还是自己动手走起。一、 centos stream 上部署iscsi服务器1. 安装targetcli、targetd yum install -y targetcli targetd 这一...

2021-12-24 10:07:37 691

原创 element plus 表单提交跳转

vue3 + element plus + vue router 在使用表单提交数据验证后跳转页面时,比如从登录页面跳转到home 页面,但home页面总是一闪又回到登录页面。百思不得其解,找了半天bug,原来是提交按钮没有写el-button,而是随手写成了button。 不知道什么原因这个会影响到页面跳转。前端的坑实在是太多了。<!-- 正确写法 --> <el-form-item> <el-button type='primary' @click="s.

2021-08-31 00:13:54 2981 2

原创 element UI 中间内容自动填充满屏

element UI 设置容器布局时候比较方便,但如果设置不好会出现中间内容无法填充满整个屏幕剩余空间的问题,很可能会导致footer组件悬空在屏幕中间位置,不美观。根据网络上找到的资料,主要有如下几个步骤: 1. 首先说明下布局: header 、(aside,main) 、footer。中间aside和main在同一水平位置。<template> <el-container> <el-header> head </el-hea..

2021-08-27 21:33:13 2831 1

原创 vue3 + vite2 配置开发代理

在开发环境中, 前端与后端服务由于在不同端口上,需要使用代理实现通信。首先在vite.config.js 文件中指定代理服务器地址及urlserver:{ host:"0.0.0.0", proxy:{ '/api':{ target:'http://localhost/', changeOrigin:true, rewrite:(path) => path.replace(/^\/api/,'') }

2021-08-19 23:20:43 2966

原创 Sanic 接收前端post 提交的json数据

sanic 在响应post 提交的数据时,分为两种方式:一种是传统的字符串数据,一种是json类型数据。sanic 对两种数据的接收方式有所不同。1. 传统字符串方式 这种方式通过‘a=1$b=2' 的形式传递数据,接收方式也比较简单。@app.post("/")async def index(request): s1 = request.form['username'] s2 = request.form['password'] return await ..

2021-08-19 23:08:40 5728 2

原创 gitlab CE 环境下使用rsync命令实现增量备份

从网络上看到的大部分git 备份都说没有增量备份方式,使用命令做全量备份,还有的先备份到本地,然后再复制到远程,造成磁盘和网络带宽的浪费。https://blog.csdn.net/liumiaocn/article/details/107936967这个链接提到的增量备份比较复杂,个人比较懒看着就头疼。想到linux 有个rsync 命令可以只传输变化的文件(基于大小和时间戳),简单测试了下,还是可以的(只用于不是特别繁忙,git服务器能够有空闲时间的)。步骤如下:假设A是主服务器,B是备

2021-07-16 17:54:48 1032

原创 websocket 传输json文本是parse方法报错

使用websocket 将json数据推送给前端时,websocket 需要将json数据转化为字符串进行传送,在前端使用javascript 将文本恢复成json对象,一般使用JSON.paser()

2021-06-18 17:25:56 1065

原创 torado websocket 实现数据推送

tornado 官方文档给出了一个聊天室的websocket 案例,需要在客户端发动消息,然后推送给聊天室中的所有人。 从后台定时推送处理后的数据到前端需要稍微改动下。

2021-06-18 15:57:44 2440

原创 sanic cookie

http headers 中可以携带cookie信息,但首次request访问是没有cookie的,服务器根据需要在response 中返回cookie,客户端会根据这个cookie信息设置自己zai'ci,

2021-06-11 09:03:32 222

原创 请求(request)

request 实例包含很多参数。(1) 请求体 body 可以通过request 的json 、body、form 、files 获取从客户端post 提交的数据或文件(2) 上下文 request.ctx 是存储request 相关信息的地方,通常存储服务器端通过某些验证后需要临时存储身份认证信息以及专有变量等内容。 具体内容在中间件部分介绍。@app.middleware('request')async def run_before_handler(request): ...

2021-06-10 17:45:33 482

原创 响应函数 handlers

(1) 响应函数响应函数可以理解为视图函数,对应于一个访问请求。可以是任何一个可调用的程序,但至少有一个request实例作为参数(有请求才会有响应),并返回一个HTTPResponse 实例或者一个执行其他操作的协同程序,说起来可能有些难以理解,实际上是区分了同步和异步的响应函数,同步响应函数直接返回Resonse实例,异步就要返回一个未来才能返回的函数。响应函数就是对请求进行响应,一般这里就是承载业务处理逻辑的地方。实际工作中,可能需要使用基于类的视图进行封装,之后会详细介绍。#req.

2021-06-10 17:43:47 1737

原创 sanic 应用(2)

1. Sanic 应用(1) sanic 实例 app = Sanic("") 实例化sanic(2) 应用上下文 代码不同部分共享数据对象时,sanic 21.3 版本开始引入了应用上下文,之前版本需要将实例属性附加到应用程序上。 app= Sanic("test") app.db = Database() in v21.3: app= Sanic("test") app.ctx.db = Database()(3) app 注册表 当实例...

2021-06-10 17:41:25 619

原创 sanic 笔记 (概览)

一、概述1. sanic 是基于python 3.7 的web服务器和web框架,是一个无阻塞的框架,旨在提高性能。2. 特性 内置极速web server 生产准备就绪 支持ASGI 简单直观的API涉及3. 安装 pip install sanic4. hello world#hello.pyfrom sanic import Sanicfrom sanic.response import textapp = Sanic("hello")@a...

2021-06-10 17:39:39 381

原创 sanic 使用模板

fromsanicimportSanicfromsanic.responseimporttext,html,json,file,stream,file_stream,raw,redirect,empty#response支持上述9种返回类型,其中file类型可以根据文件类型自动识别。#测试file为html时,会按照模板的方式展现。app=Sanic("instance1")app.static('/static','/python/sanic/sta...

2021-06-07 11:18:27 456

原创 redhat server 8.1 安装DB2 V9.7数据库故障

执行./db2setup 时,系统不出现图形界面,一会就回到#命令行模式下了。DB2 d

2021-06-04 15:34:42 545

原创 tornado 异步执行shell命令并返回执行结果

思路:通过tornado框架构建web服务器,通过执行后台命令程序获取监控目标状态或监控结果,根据状态或结果,通过websocket发送信息到前端进行相应的展现。问题:tornadoweb框架是异步处理的,其核心是将事务都放入到ioloop异步循环中。但通常使用python调用shell脚本或者执行的shell命令,以及python打开文件的操作都是同步阻塞模式,无法加入到ioloop中。在下面的连接中提到了如何将shell命令通过异步方式执行并获取执行结果。https://www.cn...

2021-03-10 15:16:16 1063

原创 tornado websocket 笔记

Tornado对异步的支持比较好,与websocket 搭配实现监控类的应用更为简便些。 在tornado的github 上有关于websocket的一个聊天室应用示例。实际代码部分如下:class ChatSocketHandler(tornado.websocket.WebSocketHandler): waiters = set() cache = [] cache_size = 200 def open(self): ChatSocketHa...

2021-03-08 22:02:38 128

原创 keepalived notify_stop 脚本的问题

1. 环境: 操作系统为SUSE 12,keepalived 的版本为当前最新的 2.2.1 ,在suse上通过编译方式安装部署。 configure --prefix=/user/local/keepalived make & make install上述安装步骤会把源码程序中的keepalive.service 复制到/usr/lib/systemd/system/目录中,是把keepalived 注册为系统服务,执行systemctl start keepalived可以启动...

2021-02-25 08:52:37 1925

原创 floyed 算法计算最短路径

在某些应用中,需要计算两个节点之间的最短路径,比较有名的是Dijkstra算法和floyed算法,都是基于节点的邻接关系求解任意两点直接的可达性和最短可达路径。 Dijkstra算法比较容易理解,无论是广度优先还是深度优先都可以根据具体应用场景进行选择,不过,在计算较为复杂的场景中,比如节点数比较多,存在众多环路等情况,由于仅仅知道邻接关系,Dijkstra算法就显得力不从心,经常会在无关路径上...

2020-03-09 11:14:20 665

原创 python 通过cmd 检查 SVN 配置库同步

背景简介: 目前对SVN配置库已经部署了svn sync同步机制,通过定时任务定期对主备配置库进行同步。但同步结果需要到服务器上去检查执行情况,或者连接到配置库查看最新的更新,在配置库比较大的情况下也不方便。思路:svn info命令可以连接到svn配置库获取配置库的情况,其中包含revision 信息。通过python 调用svn info命令来获取主备配置库的revision信息,如果两者...

2018-08-24 16:10:47 1251

原创 excel中列值不同时使用条件格式进行颜色标注

有一个excel表格文件是通过两个数据源获取拼接得到的,其中有两列的值大部分是相同的,小部分不同。对两个列值不同的行进行颜色标识,做法是:首先选中所有的行列。其次,点击“条件格式”,然后选择“新建规则”——“使用公式确定要使用格式的单元格”第三,在公式栏中填入=$A1&lt;&gt;$C1   ,然后选择格式,用底纹进行标识。由于全选了行列,因此表达式中的A1和C1会自动应用到所有行。标注的底纹会...

2018-07-11 05:37:30 3712

原创 python使用 sparkSQL集群

python使用 sparkSQL集群python在一台windows PC上,思路是通过这台PC 远程连接sparksql执行任务。与此前使用jupyter notebook 不同,jupyter notebook实际上是通过浏览器远程连接spark集群的master 节点。主要步骤:1. 在PC上安装spark  此种场景中,PC作为spark集群的dirver端,因此需要在PC上部署spar...

2018-06-07 17:34:42 2468

原创 sparkSQL 连接读取Oracle数据库

类似于mysql的连接方式,不过稍有细节差别。1. Oracle数据库在安装后一般会在$ORACLE_HOME/jdbc/lib目录中放置ojdbc*.jar等jar文件,将这些文件复制到spark集群服务器上,比如$SPARK_HOME/jars/中,然后修改CLASSPATH=$SPARK_HOME/jars/ojdbc6.jar:$CLASSPATH2. 重启jupyter notebook...

2018-06-05 10:35:27 11082 2

空空如也

空空如也

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

TA关注的人

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