自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 每天一个Linux命令(2):cd

介绍:cd(英文全拼:change directory)用于切换当前工作目录可以说是最常见的命令了语法:cd [dirName]指定的目录可以是绝对路劲,也可以是相对路劲实例:1.回到用户家目录直接用cd目录省略,就可以切换到当前使用者的家目录同 cd ~ 和cd – (~ 、-- 也表示为 home 目录)[root@localhost /]# cd[root@localhost ~]# cd ~[root@localhost ~]# 或者使用绝对路径cd 

2021-07-12 10:17:35 269

原创 每天一个Linux命令(1):ls

介绍:ls(英文全拼:list files)命令用于显示指定工作目录下之内容(列出目前工作目录所含之文件及子目录)。语法:ls [OPTION]... [FILE]...ls [参数] [目录名]常用参数:-a 显示所有文件及目录 (. 开头的隐藏文件也会列出)-l 除文件名称外,亦将文件型态、权限、拥有者、文件大小等资讯详细列出-r 将文件以相反次序显示(原定依英文字母次序)-t 将文件依建立时间之先后次序列出-A 同 -a ,但不列出 “.” (目前目录) 及 “…” (父目

2021-07-12 10:16:09 511

原创 saltstack中salt-key的用法

介绍:saltstack中master和minion是依靠证书来进行加密通信的。在saltstack中salt-key命令是用来管理证书的用法:salt-key [options]常用参数:-L, --list-all                    #显示已经或未认证的被控端id-a ACCEPT, --accept=ACCEPT       

2021-07-06 10:18:39 1990

原创 saltstack的安装

saltstack是一个批量远程管理工具,可以批量对多台服务器进行远程命令通过部署SaltStack,我们可以在成千万台服务器上做到批量执行命令,根据不同业务进行配置集中化管理、分发文件、采集服务器数据、操作系统基础及软件包管理等Salt的核心功能:使对远程系统的命令被并行而不是串行调用使用安全且加密的协议使用尽可能最小和最快的网络负载提供一个简单的编程界面Salt还向远程执行领域引入了更精细的控件,使系统不仅可以通过主机名来定位,还可以通过系统属性来定位​主要的组件其实就两个mas

2021-06-30 16:45:53 1092

原创 redis批量删除key值

遇到的问题:在开发过程中,会遇到要批量删除某种规则的key,例如login_logID(ID为变量),现在需要删除"login_log*"这一类的数据,但是redis本身只有批量查询一类key值的命令keys,但是没有批量删除某一个类的命令。解决办法:先查询,在删除,使用xargs传参(xargs可以将管道或标准输入(stdin)数据转换成命令行参数),先执行查询语句,在将查询出来的key值,当初del的参数去删除。redis-cli KEYS key* (查找条件) | xargs redis-

2021-06-10 14:12:40 366

原创 修改docker默认网桥

1.关闭docker,删除旧网桥systemctl stop dockerip link set dev docker0 downbrctl delbr docker0如果brctl没找到[root@test002 ~]# brctl delbr docker0-bash: brctl: command not found安装bridge-utilsyum install -y bridge-utils2.修改配置文件vim /etc/docker/daemon.json{"b

2021-06-09 13:48:24 1552

原创 本机ip突然连不上数据库(docker网桥网段覆盖了本机网段)

今天收到报警,有一台服务器权限错误,排查得知,服务器ping不通数据库了,两者连接不上了[root@test002 ~]# ping rm-XXXXXXXXXXXX.mysql.rds.aliyuncs.comPING rm-XXXXXXXXXXXX.mysql.rds.aliyuncs.com (172.17.0.232) 56(84) bytes of data.From test002 (172.17.0.1) icmp_seq=1 Destination Host UnreachableFr

2021-06-09 11:41:50 396

原创 使用python将json日志转换成csv文件,并优化部分样式

需求:将每天访问的日志信息记录下来,并且对传递过来的url参数的一些信息进行优化,最后转换成csv文件思路:1.日志格式设为json2.将url后面的请求参数按格式分割出来3.将上面的信息导出为csv格式步骤:1.日志格式在nginx中提前设置好的 log_format logstash_json '{ "@timestamp": "$time_local", ' '"remote_addr": "$remote_addr",

2021-04-19 18:23:12 504 1

原创 将日志中的url的请求参数拆分成字典

目前的日志记录是用json格式进行记录的,不过有个需求是将json日志转成csv,并且还要将url的请求参数进行拆分,同样记录到csv中。目前nginx的记录时 url参数是在request_uri这个值中信息如下"request_uri": "/?data1=954ds5d4s5d44&data2=45sd4asd7s64sd6a&data3=app-10&data4=0&data5=1&data6=10086&data7=20210465664676

2021-04-16 17:33:46 275

原创 Python csv生成文件显示为数字而不是科学计数E

问题:在使用python将数据导出到csv文件中,发现一些有效信息由于位数过长,被显示为科学计数显示了import csvaaaa = 12345647784654541514bbbb = 15645478746135446879cccc = 12345786csvfile = open('test.csv', 'w', newline='')writer = csv.writer(csvfile, delimiter=',')keys = ("key")writer.writero

2021-04-15 21:10:06 1685

原创 Unable to open socket file: target process not responding or HotSpot VM not loaded异常解决

今天报警发现一个服务器内存过大,经排查发现是java应用导致。通过jps获取到java进程的pid(ps,top都可以)[root@api00 ~]# jps21765 Jps19493 api.jar想使用jcmd和jstack分析下进程状态,没想到执行报错了[root@api00 ~]# jcmd 19493 GC.class_histogram19493:com.sun.tools.attach.AttachNotSupportedException: Unable to ope

2021-04-14 14:30:00 3779

原创 certbot-auto报错,无法更新证书解决

certbot-auto报错,无法更新证书解决在使用Let’s Encrypt 的免费证书后,需要每三个月更新一次证书,因为免费证书的有效日期只有三个月,而certbot-auto提供了一个方法,续签证书./certbot-auto renew --quiet该命令将检查服务器上的证书是否将在未来30天内过期,如果是,则进行更新,后面可以加上–quiet 指令告诉 certbot 不要生成输出。可以将其放到计划任务中,每天执行不过目前证书有效期已经不到一个月了,但是证书并没有去更新查看了定时任

2021-01-12 14:24:42 3646

原创 mysql复制表的两种方法

mysql复制表的两种方法1.creat table “a” select * from b;例:创建表1并将表二的数据复制到表1不过此方法在复制后不会将原有字段属性(如primary key、Extra(auto_increment)等属性)复制过来,需要自己添加,且容易弄错,不推荐使用mysql> select * from student;+------+------+------+| id | name | age |+------+------+------+|

2021-01-08 11:36:17 1892 1

原创 mysql数据库增删改查学习笔记

mysql数据库增删改查学习笔记对数据的增删改查学习记录准备一个空表(student),有三个字段,id,name,agemysql> select * from student;Empty set (0.00 sec)mysql> desc student;+-------+--------------+------+-----+---------+-------+| Field | Type | Null | Key | Default | Extra |+

2021-01-06 17:33:44 258

原创 mysql数据库和数据库表操作语句学习笔记

mysql数据库和数据库表操作语句学习笔记数据库操作语句1.创建数据库creat database ‘数据库名’mysql> CREATE DATABASE test;Query OK, 1 row affected (0.00 sec)不过默认创建的数据库编码格式为latin1,在mysql中存储和显示中文时会产生乱码查询数据库编码格式mysql> show variables like 'character_set_database';+-----------------

2021-01-05 15:45:06 150

原创 忘记mysql数据库密码后的修改密码方式

当忘记mysql数据库密码如何进行密码修改(本文mysql版本为5.7)1.进入mysql配置文件中[root@localhost ~]# vim /etc/my.cnf2.在[mysqld]中添加 skip-grant-tables(跳过数据权限验证)[mysqld]skip-grant-tables3.重启数据库,让配置文件生效[root@localhost ~]# systemctl restart mysqld4.登录数据库因为前面在配置文件中加入了跳过验证,所以这里不用输入

2021-01-04 11:53:00 231

原创 apt-get出现Package ‘ping‘ has no installation candidate解决

在使用乌班图容器时,出现apt-get失败,无法安装ping命令root@932bafeee187:/# apt-get install -y pingReading package lists... DoneBuilding dependency tree Reading state information... DonePackage ping is a virtual package provided by: inetutils-ping 2:1.9.4-11 iputi

2020-12-23 11:55:14 3730

原创 docker 小知识:按条件批量删除容器,镜像

docker本身没有批量删除的命令,要是容器或者镜像的数量太多,操作比较麻烦解决办法:先查询,在删除,使用xargs传参,将查询到的id,进行删除,达到批量删除的目的。(也可以用`` 或者$( ),这两个都是用作命令替换的,也就是出来的结果,是里面命令的执行结果)前提准备:准备部分实验镜像,容器查看容器,镜像的命令:查看容器[root@localhost ~]# docker container ls -aCONTAINER ID IMAGE COMMAND

2020-12-17 15:52:41 1134

原创 docker删除镜像时报错:image is referenced in multiple repositories

[root@localhost ~]# docker imagesREPOSITORY TAG IMAGE ID CREATED SIZEcentos 7 8652b9f0cb4c 4 weeks ago 204MBcentos 7.9.2009 8652b9f0cb4c 4 weeks ago 204MB想删除这个centos镜像不过在删除时失败报错:同一个镜像在多个存储

2020-12-17 15:46:34 291

原创 docker小知识:atp-get出现E: Unable to locate package nginx解决

在新启动的Ubuntu容器中安装nginx出现报错root@7ae3dcc48494:/# apt-get install -y nginxReading package lists... DoneBuilding dependency tree Reading state information... DoneE: Unable to locate package nginx安装失败解决办法:先执行apt-get update,这个命令的作用是:同步 /etc/apt/sou

2020-12-16 16:46:53 1670

原创 MySQL导出数据为csv的方法

MySQL导出数据为csv的方法将数据库中的数据导出成csv格式的文件CSV格式,其要点包括:(1)字段之间以逗号分隔,数据行之间以\r\n分隔;(2)字符串以半角双引号包围,字符串本身的双引号用两个双引号表示。准备一个测试表,随便加了点数据库名test,表名test1.使用select … into outfile的方法使用命令行导出fields terminated by描述字段的分隔符,默认情况下是tab字符(\t)optionally enclosed by描述的是字段的

2020-12-15 17:41:31 33193 1

原创 nginx处理websocket连接

最近开发的时候需要用到websocket向前端推送消息,本地测试正常(ip+端口的方式),但是部署到测试服务器上之后连接失败。测试环境是使用nginx作为代理,并没有配置关于websocket的地方。需要在nginx配置文件中添加websocket配置,才能正常使用WebSocket和HTTP虽然是不同协议,但是两者“握手”方式兼容。通过HTTP升级机制,使用HTTP的Upgrade和Connection协议头的方式可以将连接从HTTP升级为WebSocket。在nginx配置文件中添加两个地方

2020-12-11 16:09:17 6439 1

原创 redis批量删除key值

遇到的问题:在开发过程中,会遇到要批量删除某种规则的key,例如login_logID(ID为变量),现在需要删除"login_log*"这一类的数据,但是redis本身只有批量查询一类key值的命令keys,但是没有批量删除某一个类的命令。解决办法:先查询,在删除,使用xargs传参(xargs可以将管道或标准输入(stdin)数据转换成命令行参数),先执行查询语句,在将查询出来的key值,当初del的参数去删除。redis-cli KEYS key* (查找条件) | xargs redis-

2020-12-09 13:49:38 9881

原创 zabbix数据库history相关数据占用空间太大解决

zabbix数据库history相关数据占用空间太大解决今天有台服务器磁盘报警,使用du -sh * (当前文件夹下的文件大小)一步步排查,发现/var/lib/mysql/zabbix/这个目录占用磁盘空间较大[root@localhost mysql]# pwd/var/lib/mysql[root@localhost mysql]# du -sh zabbix5.9G zabbix在进入到zabbix中,进一步看到是其中history_uint.ibd和history.ibd两个表的数据

2020-11-26 20:50:06 7062

原创 如何删除gitlab上默认受保护的master主分支

今天开发在检查代码的时候,发现master分支有问题,现在准备删除此主分支,并且重新提交正确的代码,不过在删除时发现,master分支不能被删除。ps:主分支一般都是线上分支,需要开发确认后并且做好备份才能动,本次是因为master分支已经太乱了,开发需要重新弄一次,准备删除在创建,将最新的正确的代码放上去,才动主分支的,一般情况下不要对主分支进行删除动作。记录一下操作过程删除分支在gitlab中删除分支可以直接用工具删,也可以在页面上删除点击页面上的分支在进入到分支界面后,其他分支后面那个红色的

2020-11-18 15:31:24 6848

原创 如何自己申请免费的通配符证书(基于 Let‘s Encrypt 的免费证书)

最近项目上线,需要用到https,在网上找到了可以白嫖的证书,记录一下使用过程Let’s Encrypt一个非盈利性的证书颁发机构,并且已经被大多数浏览器所信任,而我们可以使用Certbot(一个免费的开源软件工具),用于在手动管理的网站上自动使用Let’s Encrypt证书来启用HTTPS。前提条件要有一台服务器(nginx)和一个已经备案好的证书安装Certbot所有的证书相关的操作,都可以通过 Certbot 软件实现,直接下载就可以使用# 下载 Certbot 客户端wget htt

2020-10-29 13:37:56 876

原创 视频上报跨域,实际上是nginx限制了上传文件大小

今天在上传视频时网站出现问题Access to XMLHttpRequest at 'xxx' from origin 'xxx' has been blocked by CORS policy: No 'Access-Control-Allow-Origin' header is present on the requested resource但是文档和图片都是没问题的,跨域也都是设置好的开始以为是视频上传的接口有问题,在本地和postman请求接口都是正常的最后想到nginx的配置文件中有个

2020-10-27 11:20:49 913

原创 不要在linux上启用net.ipv4.tcp_tw_recycle参数

最近发现一个奇怪的问题,一台服务器上部署的网站,用外网访问是正常的,但是使用公司内网访问就访问不上,不仅网站访问不上,连服务器有时候都连接不上。原因是在内核优化时启用了net.ipv4.tcp_tw_recycle参数这个参数是默认关闭的,之所以打开是由于这个参数开启后,可以使TCP连接中TIME-WAIT sockets的快速回收,但是在NAT网络下,导致大量的TCP连接建立错误、所以在公司内部有时候能访问,有时候访问不上1.先确定参数依次执行如下命令,查看当前内核配置,确认该参数值为“1”。

2020-10-21 15:12:24 2061

原创 nginx屏蔽部分ip访问

面对垃圾留言和暴力破解,我们可以屏蔽这些IP访问我们的网站,或者限制仅仅某些白名单IP才能访问我们的网站。这时候我们就可以在nginx中通过简单的配置来达到目的。找到nginx的配置文件,/usr/local/nginx/conf/nginx.conf,具体路劲还是要看自己设置,然后在server{}中间添加规则,允许就是allow,拒绝就是deny上图所示就是只拒绝了一个ip,注意后面要用分号; 保存退出配置文件,使用nginx -t #检查配置文件防止出错 nginx: the configur

2020-10-05 14:13:53 1487

原创 如何在hexo上创建一篇文章

博客已经搭建好了,虽然功能比较少,但是还是可以写文章的新建文章使用命令来新建文章hexo new [layout] <title>layout 是文章的布局,默认为post,可以先不写。title 是文章的标题,也是文件的名字,存储在source/_posts下。创建文章[root@localhost blog]# hexo new "如何在hexo上创建一篇文章"...INFO Created: /blog/source/_posts/如何在hexo上创建一篇文章.md

2020-10-05 09:05:29 9626 1

原创 修改hexo首页访问地址不带二级目录

原本的访问地址后面带一个blog(仓库名)不美观https://zhang-xiaoxing.gitee.io/blog/想去掉后面的子目录根据码云那边的提示修改原仓库名为个人空间地址也就是改blog为zhang-xiaoxing并且重新更新Gitee Pages 服务然后修改_config.yml中的地址重新发布博客hexo clean && hexo g && hexo d现在就可以使用https://zhang-xiaoxing.gitee.io/访

2020-09-08 21:11:08 439 1

原创 5分钟搭建hexo+gitee博客

5分钟搭建hexo+gitee博客我是在Linux服务器上搭建的环境准备安装git和nodejs安装git[root@localhost ~]# yum -y install git Loaded plugins: fastestmirrorDetermining fastest mirrorsbase | 3.6 kB

2020-09-08 21:09:22 209

原创 jenkins插件地址装不了插件

jenkins插件地址装不了插件在进行jenkins插件安装时,发现报错,安装失败,提示无法解析域名java.net.UnknownHostException: updates.jenkins-ci.org at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:184) at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392) at jav

2020-08-20 17:23:30 920 1

原创 pinpoint系列之添加邮件报警

pinpoint系列之添加邮件报警使用监控怎么少的了报警,为pinpoint-docker添加邮件报警设置邮件报警1.修改pinpoint-docker的环境变量文件位置在pinpoint-docker的下的.env文件[root@localhost pinpoint-docker]# ls -a. docs .gitignore pinpoint-agent-attach-example pinpoint-hbase pinpoin

2020-08-11 18:12:51 1353 4

原创 pinpoint使用详解(图文版)

pinpoint使用详解用了一段时间的pinpoint发现确实挺好用的,就是功能超级多,大概整理了一下各功能的使用用法1.首页2.查看应用详细信息2.1点击查看单个信息2.2查看应用更详细信息3.查看详细数据错误的信息会用红色显示,可以查看错误信息去排查错误,我是随便拿的一个请求举个例子,大概描述下相应的作用。3.1长按鼠标左键,拖拽至右下方3.2弹出选择框的详细信息3.3点击相应的信息点击上面任意一个请求,可以跳转到详细列表3.4混合视图查看在上方点击混合视图,可以

2020-07-29 17:52:09 25335

原创 pinpoint系列之配置客户端

pinpoint客户端配置文件在我们部署完服务器端后,就要去部署客户端,来完成对项目的监控​通过官网下载pinpoint客户端https://github.com/naver/pinpoint/releases/download/v2.0.3/pinpoint-agent-2.0.3.tar.gz注意客户端的版本号一定要和我们安装的客户端的版本号保持一致将pinpoint客户端放到要监控的服务器下,然后修改配置文件,将ip指向服务器端vim pinpoint.config profiler.

2020-07-25 18:10:25 1317

原创 pinpoint系列之docker安装失败错误汇总

pinpoint系列之docker安装失败错误汇总在安装pinpoint过程中也出了一些问题,总结记录一下1.包下载失败Failed to connect to raw.githubusercontent.com port 443:Connection refusedERROR: Service 'pinpoint-hbase' failed to build: The command '/bin/sh -c mkdir -p ${BASE_DIR} && cd ${BAS

2020-07-24 18:06:40 1001

原创 pinpoint 容器安装

pinpoint 容器安装pinpoint是开源在github上的一款APM监控工具,它是用Java编写的,用于大规模分布式系统监控。它对性能的影响最小(只增加约3%资源利用率),安装agent是无侵入式的,只需要在被测试的Tomcat中加上3句话,打下探针,就可以监控整套程序了。因为是选择用docker来安装pinpoint,所以要先安装好docker以及docker-composeyum update -yyum install docker epel-release python-pip -

2020-07-24 13:47:40 526 1

原创 Python2.7安装pip

Linux自带Python2.7,没有pip安装工具,所以要先安装pip先安装setuptools[root@localhost local]# wget https://pypi.python.org/packages/source/s/setuptools/setuptools-2.0.tar.gz --no-check-certificate[root@localhost local]# tar zxvf setuptools-2.0.tar.gz[root@localhost local]#

2020-05-28 16:19:06 7184 1

原创 jenkins系列之 钉钉报警2.0插件版本配置

jenkins 钉钉2.2插件版本配置在去年的时候,jenkins配置过钉钉报警的方式来进行钉钉报警,不过在钉钉插件版本2.0以后对配置进行了重构,不在兼容以前的版本,所以需要重新配置更新插件在设置----->插件管理----------->可更新在配置前需要对插件进行更新,如果没安装过钉钉插件的可以在可选插件中选择安装搜索dingding将版本更新到新版本在设置中进行钉钉设置现在的钉钉插件不需要对每个项目进行配置,只需要现在系统设置中找到钉钉配置通知时机:可以自己选择想要收到

2020-05-19 15:20:22 1269 13

空空如也

空空如也

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

TA关注的人

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