![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
服务器架构
文章平均质量分 70
被遗忘的区域
这个作者很懒,什么都没留下…
展开
-
apisix unable to access ‘https://github.com/api7/lua-snowflake.git/‘: gnutls_handshake() failed
只需要在命令行中执行原创 2022-06-28 16:14:54 · 143 阅读 · 0 评论 -
解决spring boot应用以docker容器方式启动后,进程ID是1而导致的jstack和jmap等命令不可用的问题
TOC]目的解决spring boot应用以docker容器方式启动后,进程ID是1而导致的jstack和jmap等命令不可用的现象默认将spring boot工程打包成镜像的方式当我们把spring boot打包成一个可执行jar编写Dockerfile 将jarcopy到容器中,在cmd 中执行java -jar ***.jar 启动,Dockerfile文件如下#基础镜像基于openjdk,利用alpineFROM openjdk:8u212-jdk-alpine #所属团队原创 2022-03-10 17:09:55 · 2537 阅读 · 0 评论 -
jenkins构建任务后发送邮件
1、jenkins登录后-系统管理-系统设置打开后定位到下面的位置:系统管理员邮件地址一定要填写2、下滑页面定位到extend E-mail Notification:这个是jenkins的一个插件,可以去https://mirrors.tuna.tsinghua.edu.cn/jenkins/plugins/国内清华园的镜像下载Tips:1、插件的安装有依赖关系,安装失败时查看依赖的文件,也在https://mirrors.tuna.tsinghua.edu.cn/jenkins/plugins/下原创 2022-01-27 09:00:56 · 2747 阅读 · 0 评论 -
docker login登录报错
在Ubuntu 18.04系统中,在安装有docker-compose时,将无法正常登录。详情如下:docker loginPassword:Error saving credentials: error storing credentials - err: exit status 1, out: Cannot autolaunch D-Bus without X11 $DISPLAY解决方法,移除掉docker-compose:sudo apt-get autoremove --purge d原创 2022-01-14 17:05:25 · 985 阅读 · 0 评论 -
cdh集群部署
一 docker部署cdh-5.xcloudera/quickstartcloudera/clusterdock二 docker部署cdh-6.xcdh安装包下载docker拉取centos7镜像docker pull centos:7.7.1908启动docker container2.1 设置网桥docker network create --subnet=172.18.0.0/24 cdh-network2.2 运行4个centos7的容器docker run -d --pri原创 2022-01-04 13:48:35 · 1983 阅读 · 0 评论 -
ubuntu18.04下安装grafana6和简单使用
环境:ubuntu18.04下载sudo apt-get install -y adduser libfontconfig1使用wget 下载会很慢 # 推荐百度网盘:链接:https://pan.baidu.com/s/1y2I4LwuslB5kHAZwV8RNxw 提取码:o19t # 或者csdn:[grafana6](https://download.csdn.net/download/qq_43157273/12890289)wget https://dl.grafana.com/os原创 2021-12-14 09:23:05 · 238 阅读 · 0 评论 -
Docker搭建Yapi及迁移
Docker搭建Yapi及迁移安装mongodocker run -p 27017:27017 -d -v /data/mongo/data:/data/db -v /data/mongo/conf:/data/configdb --name mongoserver mongo --auth1安装yapi注意: yapi不要开放外网,存在恶意mock漏洞,解决办法:Yapi的mock漏洞我采用的是dockfile,搭建yapi服务,准备工作Dockerfile内容:FROM alpine:原创 2021-12-10 15:46:43 · 676 阅读 · 0 评论 -
jenkins_pipeline前端_docker
pipeline { agent anyenvironment { imagename = ‘镜像名’ tag = “v${BUILD_NUMBER}” #版本号 }stages { stage(‘Pull code’) { steps { echo “imagename:{imagename}:imagename:{tag}” git credentialsId: ‘git_key’, url: ‘git地址’ }原创 2021-12-09 17:29:15 · 2313 阅读 · 0 评论 -
MySQL出现Waiting for table metadata lock的原因以及解决方法
MySQL在进行alter table等DDL操作时,有时会出现Waiting for table metadata lock的等待场景。而且,一旦alter table TableA的操作停滞在Waiting for table metadata lock的状态,后续对TableA的任何操作(包括读)都无法进行,因为他们也会在Opening tables的阶段进入到Waiting for table metadata lock的锁等待队列。如果是产品环境的核心表出现了这样的锁等待队列,就会造成灾难性的后果原创 2021-12-03 15:56:36 · 22991 阅读 · 0 评论 -
docker19.03环境使用NVIDIA显卡 docker: Error response from daemon: could not select device driver ““ with c
docker19.03使用NVIDIA显卡前言使用gpu错误:docker: Error response from daemon: could not select device driver “” with ...具体解决方案在下面有.2019年7月的docker 19.03已经正式发布了,这次发布对我来说有两大亮点。1,就是docker不需要root权限来启动喝运行了2,就是支持GPU的增强功能,我们在docker里面想读取nvidia显卡再也不需要额外的安装nvidia-docker了安原创 2021-12-03 14:39:50 · 1213 阅读 · 0 评论 -
ubuntu下安装nvidia-container-runtime报错解决
安装nvidia-container-runtime:root@GPU:/home/python/docker# apt-get install nvidia-container-runtimeReading package lists… DoneBuilding dependency treeReading state information… DoneYou might want to run ‘apt --fix-broken install’ to correct these.The f原创 2021-12-03 14:22:17 · 5620 阅读 · 0 评论 -
前端npm install报错too many levels of symbolic links解决办法
在Linux环境通过Jenkins构建前端项目,只要执行npm install安装模块以后,就会报错:node_modules/webpack/node_modules/@webassemblyjs/helper-module-context/node_modules/@webassemblyjs/ast/node_modules/@webassemblyjs/wast-parser/node_modules/@webassemblyjs/helper-code-frame/node_module..原创 2021-07-29 11:06:24 · 1927 阅读 · 0 评论 -
mysql账户安全策略
1.密码复杂度策略设置MySQL 系统自带有 validate_password 插件,此插件可以验证密码强度,未达到规定强度的密码则不允许被设置。MySQL 5.7 及 8.0 版本默认情况下貌似都不启用该插件,这也使得我们可以随意设置密码,比如设置为 123、123456等。如果我们想从根源上规范密码强度,可以启用该插件,下面一起来看下如何通过此插件来设置密码复杂度策略。1)查看是否已安装此插件进入 MySQL 命令行,通过 show plugins 或者查看 validate_password原创 2021-07-26 13:39:44 · 922 阅读 · 0 评论 -
nginx 自建证书https 报错 no “ssl_certificate“ is defined in server listening on SSL port while SSL handsha
自建证书:openssl genrsa -des3 -out ssl.keymv ssl.key ssl_bak.keyopenssl rsa -in ssl_bak.key -out ssl.keyopenssl req -new -key ssl.key -out ssl.csropenssl x509 -req -days 365 -in ssl.csr -signkey ssl.key -out ssl.crt查看错误日志:tail -f error.logno “ssl_certi原创 2021-07-12 18:13:40 · 2131 阅读 · 0 评论 -
linux下压力测试工具http_load
首先 我们现在下http_load 模块一、安装http_load(以下命令为linux)1、进入/usr/local目录下创建man文件夹,并赋予权限;cd /usr/localmkdir manchmod 777 man1232、进man文件夹中,下载http_load安装包;cd manwget http://acme.com/software/http_load/http_load-12mar2006.tar.gz123、解压、并安装http_load-12mar200原创 2021-06-04 11:51:49 · 264 阅读 · 0 评论 -
Ubuntu搭建SFtp
需求:在服务器上开通SFTP文件服务,允许某些用户上传及下载文件。但是这些用户只能使用SFTP传输文件,不能使用SSH终端访问服务器,并且SFTP不能访问系统文件(即所谓的“Jail(监狱)”)。系统管理员则既能使用SFTP传输文件,也能使用SSH远程管理服务器。为了便于讨论,我假设我将允许sftp用户组内的用户使用sftp,但不允许使用SSH Shell,且该组用户将被"监狱"(修改系统根目录)。我将在sftp组内创建一个用户“sftp”。而我将允许ssh-users使用SFTP以及SSH。系统管理员的原创 2021-05-26 11:04:32 · 570 阅读 · 0 评论 -
Unable to correct problems, you have held broken packages
在Ubuntu中安装软件的时候经常碰到E: Unable to correct problems, you have held broken packages.的错误,顾名思义是因为某些软件包冲突导致,幸运的话sudo apt-get update && sudo apt-get upgrade 可以解决,但这种情况属于可遇不可求,更多的适合这么做不济于事。这样一来如何彻底解决就成了一个问题,经过多次摸索之后,将可行的解决方法记录如下:以安装libxml2-dev时错误为例,安装时提示如原创 2021-05-19 17:53:27 · 806 阅读 · 0 评论 -
绕过CDN查询真实IP
什么是CDN加速?CDN的全称是 Content Delivery Network,即内容分发网络,这个概念是1998年提出的。当时美国麻省理工大学(MT)的一批研究生通过分析当时 Internet E的网络状况,提出了一套能够实现用户就近访问的解决方案,最终设计并实现了其独有的系统。CDN有什么作用?CDN基本思路就是尽可能避开互联网上有可能影响数据传输速度和稳定性的瓶颈和环节,使内容传输的更快、更稳定。通过在网络各处放置节点服务器所构成的在现有的互联网基础之上的一层智能虚拟网络,CDN.原创 2021-01-11 17:09:11 · 783 阅读 · 0 评论 -
编译Nginx支持TLS1.3
TLS1.2 发布于 2008 年 8 月,至今正好有 10 年,随着互联网安全越来越受到重视,新协议 TLS1.3 呼之欲出。值得一提的是,从第一份草案编写至今,已经有几年时间了,截止这篇文章编写,已经是第 28 份草案。在最近的 Chrome 版本更新中也逐步对 TLS1.3 进行支持,Chrome 65 开始默认开启 draft 23、Chrome 68 开始支持 draft 28更新:TLS 1.3 标准已于 2018 年 8 月正式发布为RFC 8446,距 TLS1.2 发布正好 10..原创 2021-01-06 14:02:39 · 975 阅读 · 0 评论 -
nginx搭建简单直播服务器
nginx搭建简单直播服务器1、下载模块(nginx-rtmp-module)1 cd /data/nginx2 yum install git3 git clone https://github.com/arut/nginx-rtmp-module.git2、安装nginx:1 yum install gcc make pcre-devel openssl-devel 2 wget http://nginx.org/download/nginx-1.15.0.tar.gz 3 t原创 2021-01-06 11:06:38 · 1080 阅读 · 2 评论 -
使用Nginx+Lua实现waf
使用Nginx+Lua实现waf软件包需求:1 、Nginx兼容性【最后测试到1.13.6】wget http://nginx.org/download/nginx-1.13.6.tar.gz2 、PCRE为Nginx编译安装关系的依赖wget https://jaist.dl.sourceforge.net/project/pcre/pcre/8.42/pcre-8.42.tar.gz3 、下载luajit解释器和ngx_devel_kit以及lua-nginx-module模原创 2021-01-06 11:02:35 · 917 阅读 · 0 评论 -
ELK+redis+filebeat整合及报错解决
重启filebeat后,nginx访问日志会写入到logstash中,但此时logstash写入elasticsearch会报错:failed to parse field [host] of type [text] in document with id 'E0lsjW4BTdp_eLcgfhbu'看elasticsearch日志发现此时host为一个json对象,需要变为字符串才行修改配置,添加过滤器,把host.name赋值为hostvi config/logstash.conffilter原创 2021-01-05 15:39:43 · 1469 阅读 · 0 评论 -
supervisorstart_link /start_child 启动流程
supervisor start_link 流程分析SupFlags参数介绍 eg: {one_for_one, 10, 100}strategy 主进程对多有进程的重启策略(只有在子进程重启后才会生效,子进程重启规则见下面restart参数的介绍)one_for_one:仅仅重新这一个子进程one_for_all:shutdown掉所有的子进程,重新启动所有子进程rest_for_one:在这个子进程之后启动的 其他子进程都会重启simple_one_for_one仅仅这一个子进程重启原创 2020-11-10 18:06:14 · 673 阅读 · 0 评论 -
MySQL 索引优化 Using where, Using filesort
用Explain分析SQL语句的时候,经常发现有的语句在Extra列会出现Using filesort,根据MySQL官方文档对他的描述:引用MySQL must do an extra pass to find out how to retrieve the rows in sorted order. The sort is done by going through all rows according to the join type and storing the sort key and po原创 2020-10-26 09:30:19 · 6513 阅读 · 0 评论 -
MySQL单表数据量过千万的优化方案
问题概述使用阿里云rds for MySQL数据库(就是MySQL5.6版本),有个用户上网记录表6个月的数据量近2000万,保留最近一年的数据量达到4000万,查询速度极慢,日常卡死。严重影响业务。问题前提:老系统,当时设计系统的人大概是大学没毕业,表设计和sql语句写的不仅仅是垃圾,简直无法直视。原开发人员都已离职,到我来维护,这就是传说中的维护不了就跑路,然后我就是掉坑的那个!!!我尝试解决该问题,so,有个这个日志。方案概述方案一:优化现有mysql数据库。优点:不影响现有业务,源程序不需原创 2020-10-23 16:33:25 · 1368 阅读 · 0 评论 -
Redis【知识点】批量删除指定Key
Redis中有删除单条数据的命令DEL但是他没有批量删除多条数据的方法,那我们怎么去批量删除多条数据呢!第一种方式/work/app/redis/bin/redis-cli -a youpassword keys ‘Volume:*’ | xargs /work/app/redis/bin/redis-cli -a youpassword del注释:通过:keys 'Volume’去匹配你要删除的Key:Value条目,然后把结果传给xargs然后删除数据如果要删除指定的Redis库加个参数即原创 2020-09-30 16:05:26 · 793 阅读 · 0 评论 -
CentOS7 内核优化 修改参数
一:内核简介内核是操作系统最基本的部分。它是为众多应用程序提供对计算机硬件的安全访问的一部分软件,这种访问是有限的,并且内核决定一个程序在什么时候对某部分硬件操作多长时间。内核的分类可分为单内核和双内核以及微内核。严格地说,内核并不是计算机系统中必要的组成部分。什么是内核?内核,是一个操作系统的核心。是基于硬件的第一层软件扩充,提供操作系统的最基本的功能,是操作系统工作的基础,它负责管理系统的进程、内存、内核体系结构、设备驱动程序、文件和网络系统,决定着系统的性能和稳定性。什么是线程?线程:是操原创 2020-09-29 14:45:15 · 1052 阅读 · 1 评论 -
binlog2sql快闪回滚
yum -y install git wgetyum clean allmkdir -p /mnt/soft && cd /mnt/softwget --ftp-password=z3Qwdq ftp://baosoft@222.209.82.51:5566/linux/binlog2sql.tar.gztar zxf binlog2sql.tar.gz -C /usr/local/src/cd /usr/local/src/binlog2sql/binlog2sql_depend原创 2020-09-28 09:58:18 · 158 阅读 · 0 评论 -
centos8安装ntp
在CentOS8.0中默认不再支持ntp软件包,时间同步将由chrony来实现,像我这种习惯了ntp同步时间的,一时难以去适应chrony。本文将通过wlnmp提供的源,来安装ntp服务添加wlnmp源rpm -ivh http://mirrors.wlnmp.com/centos/wlnmp-release-centos.noarch.rpm安装ntp服务yum install wntp时间同步ntpdate ntp1.aliyun.com...原创 2020-09-16 17:18:57 · 1815 阅读 · 0 评论 -
openssl: error while loading shared libraries: libssl.so.1.1
这是由于openssl库的位置不正确造成的ln -s /usr/local/lib/libssl.so.1.1 /usr/lib/libssl.so.1.1ln -s /usr/local/lib/libcrypto.so.1.1 /usr/lib/libcrypto.so.1.1原创 2020-08-28 17:44:40 · 371 阅读 · 0 评论 -
高并发场景下backlog详解
本文详解高并发场景下backlog的配置和作用环境介绍: PHP 7.3.5 +nginx/1.16.0 +Linux VM_0_15_centos 3.10.0-514.26.2.el7.x86_64backlog定义:已连接但未进行accept处理的SOCKET队列大小,并非syn的SOCKET队列。如果这个队列满了,将会发送一个ECONNREFUSED错误信息给到客户端,即 linux 头文件 /usr/include/asm-generic/errno.h中定义的“Connection ref原创 2020-08-12 16:27:01 · 870 阅读 · 0 评论 -
centos8开启BBR
TCP BBR - 如何安装、启动、停止BBR!TCP BBR从Linux 4.9 内核开始,就作为它内核的一部分存在了,如果想使用BBR,那么首先就是判断内核版本是否大于4.9,如果符合版本标准,那么直接启动BBR就可以了,如果低于4.9,升级内核之后启动就行了。一,使用一键脚本安装和启动BBR。 推荐使用秋水逸冰的一键脚本,具体可以参考: https://www.cnblogs.com/sunylat/p/9521562.html 如果一键脚本不能访问,那么可以下载我在这里保存原创 2020-08-12 15:50:58 · 1707 阅读 · 0 评论 -
centos8内核参数优化线上环境
Controls source route verificationDefault should work for all interfacesvm.swappiness = 0net.ipv4.neigh.default.gc_stale_time=120net.ipv4.conf.all.rp_filter=0net.ipv4.conf.default.rp_filter = 0net.ipv4.conf.default.arp_announce = 2net.ipv4.conf.lo.a原创 2020-08-12 15:44:36 · 3328 阅读 · 1 评论 -
sphinx索引中关于indexer里的mem_limit配置项的大小限制
今天在进行sphinx索引的时候遇到报错:WARNING: collect_hits: mem_limit=-2097152 kb too low, increasing to -118752 kb,排查后发现是mem_limit配置项的问题,indexer索引中的配置项mem_limit是建立索引时的索引内存限制值,此值并不是越大越好,今天在修改配置的时候,考虑到服务器内存足够大,我就把这个配置改成了2G即2048M,然后在索引的时候就碰到了下面的报错,详细如下:[kermit@kermit sphin原创 2020-08-12 15:41:40 · 821 阅读 · 0 评论 -
swoole服务的文件句柄超出系统限制(too many open files)
最近在项目中遇到一个很奇怪的问题,因为修改配置(redis中缓存的),nginx服务突然报upstream timed out (110: Connection timed out),然后去查为什么会出现这样的问题,发现出问题的服务是一个swoole的http server,查看程序日志,发现大量的accept4: too many open files报错,第一感觉应该是哪里文件句柄读取没有释放。too many open files(打开的文件过多)是Linux系统中常见的错误,从字面意思上看就是说程原创 2020-08-12 15:39:11 · 942 阅读 · 0 评论 -
亲测kali2020下安装w3af
w3af在kali2020下真心不好安装一路坑坑拌伴正常下载w3af,按要求解压在/root下安装NPM包管理工具apt install npm libyaml-dev libsqlite3-dev补全python库环境apt install python-dev build-essential libssl-dev libffi-dev libxml2-dev libxslt1-dev zlib1g-dev修改配置文件vim ~/w3af/w3af/core/controllers/dep原创 2020-07-24 10:07:06 · 1553 阅读 · 4 评论 -
利用speedtest-cli工具检测服务器网络下载速率
speedtest-cli,采用python编写命令脚本,通过调用已设置的上下行节点接口来完成速度测试。这里我们一起看看如何使用的。第一、speedtest-cli工具地址地址:https://github.com/sivel/speedtest-cli第二、speedtest-cli工具安装speedtest-cli工具的安装需要在Python 2.4及以上环境中才可以执行。1、pip方式安装pip install speedtest-cli2、easy_install安装方式easy_i原创 2020-07-22 11:23:47 · 1075 阅读 · 0 评论 -
MySQL无法重启问题解决Warning: World-writable config file ‘/etc/mysql/my.cnf’ is ignored
今天在修改mysql数据库的配置文件,由于方便操作,就将“/etc/mysql/my.cnf” 的权限设置成 “777” 了,然后进行修改,当修改完进行重启mysql的时候,却报错,提示Warning: World-writable config file ‘/etc/mysql/my.cnf’ is ignored ,大概意思是权限全局可写,任何一个用户都可以写。mysql担心这种文件被其他用户恶意修改,所以忽略掉这个配置文件。这样mysql无法重启。下面看下整个过程重启MySQL[root@ttl原创 2020-07-10 11:26:43 · 772 阅读 · 0 评论 -
SPHINX增量索引
首先建立一个计数表,保存数据表的最新记录IDCREATE TABLE sph_counter (id int(11) unsigned NOT NULL,max_id int(11) unsigned NOT NULL,PRIMARY KEY (id)) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT=‘sphinx增量表最大记录数’;#定义主索引源source test{type = mysqlsql_host原创 2020-06-23 17:52:49 · 200 阅读 · 0 评论 -
supervisor集群管理
1.介绍Supervisor是一个进程管理工具,就是有一个进程需要每时每刻不断的运行,但是这个进程又有可能由于各种原因有可能停止运行。supervisor官网:http://www.supervisord.org/当进程停止运行的时候我们希望能自动重新启动,Supervisor就可以帮我们实现。Supervisor是用Python开发的,能将一个普通的命令行进程变为后台daemon,并监控进程状态,异常退出时能自动重启。它是通过fork/exec的方式把这些被管理的进程当作supervisor的子进程来原创 2020-06-03 09:23:40 · 446 阅读 · 0 评论