linux基础
文章平均质量分 54
7*24 工作者
走自己的路,让别人说去吧
展开
-
Python3 使用 pymssql 连接 SQL Server 报错:DB-Lib error message 20002, severity 9
通过python自带的os模块,详细打印连接详细日志。重新连接,没有报错,执行SQL,有数据输出。从报错信息上可以发现,是找不到。原创 2024-05-27 11:05:59 · 1514 阅读 · 1 评论 -
Nginx缓冲区
Nginx的项目一般请求流程为:“客户端→Nginx→服务端”,在这个过程中存在两个连接:“客户端→Nginx、Nginx→服务端”,那么两个不同的连接速度不一致,就会影响用户的体验(比如浏览器的加载速度跟不上服务端的响应速度)。如果客户端到nginx速度快,nginx到服务器速度慢,没有缓冲区,一点点数据量就直接发到客户端,十分浪费性能。有了缓冲区,返回内容放到缓冲区后,nginx到服务器的连接就能断开了,客户端从缓冲区拉取即可。相反,客户端到nginx速度慢,nginx到服务器速度快,没有缓冲区,原创 2024-04-23 15:42:53 · 460 阅读 · 0 评论 -
Centos7 上安装 redis-dump 和redis-load 命令
redis-dump和redis-load命令安装原创 2023-08-01 15:37:48 · 2030 阅读 · 1 评论 -
中标麒麟操作系统安装chrome浏览器
中标麒麟操作系统安装chrome浏览器原创 2023-06-16 11:42:25 · 11030 阅读 · 0 评论 -
Package ‘oniguruma‘, required by ‘virtual:world‘, not found
php8.x版本编译的时候报 Package 'oniguruma', required by 'virtual:world', not found 错误原创 2023-02-17 10:26:28 · 2119 阅读 · 1 评论 -
推荐几款实用的内网穿透工具
内网穿透工具:nps-npc,frp,ew,ngrok转载 2022-12-13 14:33:16 · 1069 阅读 · 1 评论 -
Linux查看当前占用CPU或内存最多的n个进程
Linux查看当前占用CPU或内存最多的n个进程原创 2022-10-09 13:18:07 · 8121 阅读 · 0 评论 -
Rocky Linux 更新成国内镜像源
rocky linux 更新成国内镜像源原创 2022-09-28 13:29:39 · 5127 阅读 · 0 评论 -
内网穿透工具--lanproxy
一、简介lanproxy是一个将局域网个人电脑、服务器代理到公网的内网穿透工具,目前仅支持tcp流量转发,可支持任何tcp上层协议,可用作访问内网网站、本地支付接口调试、SSH访问、远程桌面等等,而且带Web在线管理面板,添加端口配置十分简单。二、相关链接主页地址:https://nat.io2c.com/Github地址:https://github.com/ffay/lanproxy https://gitee.com/fnw/lanproxy发布包下载:https://seafile原创 2022-03-23 14:19:40 · 8484 阅读 · 3 评论 -
ffmpeg实现rtsp流转hls流
一、ffmpeg安装官网地址:http://ffmpeg.org安装包下载地址:https://ffmpeg.org/releases/1、下载安装包并解压wget http://ffmpeg.org/releases/ffmpeg-4.1.tar.gztar -xf ffmpeg-4.1.tar.gz2、安装依赖yum install -y nasm如果不提前安装在 ./configure 会报以下错误3、编译安装ffmpeg./configure --prefix=/usr/l原创 2022-03-11 11:48:54 · 12831 阅读 · 5 评论 -
rocketmq入门学习
官方地址:https://rocketmq.apache.org/安装包下载地址:https://archive.apache.org/dist/rocketmq/一、rocketmq简介RcoketMQ 是一款低延迟、高可靠、可伸缩、易于使用的消息中间件。具有以下特性:支持发布/订阅(Pub/Sub)和点对点(P2P)消息模型在一个队列中可靠的先进先出(FIFO)和严格的顺序传递支持拉(pull)和推(push)两种消息模式单一队列百万消息的堆积能力支持多种消息协议,如 JMS、MQTT原创 2022-03-10 10:42:17 · 2063 阅读 · 0 评论 -
U盘安装Centos7启动过程中出现:starting dracut initqueue hook
使用U盘安装Centos7启动过程出现了以下报错:starting dracut initqueue hook这个问题是因为安装程序没有找到安装文件的位置。所以我们需要在启动过程中找到对应启动盘的U盘,然后指定U盘所在的位置即可。解决方案:1、在开机过程中按tab编辑开机选项,uefi启动按e编辑。2、修改掉默认的信息(图示默认的信息)setparams 'Install CentOS Linux 7'linuxefi /images/pxeboot/vmlinuz inst.stage2=原创 2022-02-26 11:36:22 · 24498 阅读 · 6 评论 -
rpmdb: BDB0113 Thread/process 3062867/281468364164160 failed: BDB1507 Thread died in Berkeley DB lib
执行rpm或者yum命令报错解决方法如下:# cd /var/lib/rpm# lsBasenames __db.001 __db.003 Enhancename Group Name Packages Recommendname Sha1header Suggestname TransfiletriggernameConflictname __db.002 Dirnames Filetriggername Insta原创 2022-01-12 16:02:19 · 1191 阅读 · 0 评论 -
linux 用户连续N次输入错误密码进行登陆时自动锁定X分钟
1、编辑PAM的配置文件sudo vim /etc/pam.d/login在第二行添加auth required pam_tally2.so deny=3 unlock_time=60 even_deny_root root_unlock_time=60参数介绍even_deny_root 也限制root用户;deny 设置普通用户和root用户连续错误登陆的最大次数,超过最大次数,则锁定该用户;unlock_time 设定普通用户锁定后,多少时间后解锁,单位是秒;root_unlo翻译 2022-01-04 09:57:36 · 4043 阅读 · 1 评论 -
CentOS7 升级到 CentOS8
一、升级包[root@centos7 ~]# cat /etc/centos-releaseCentOS Linux release 7.9.2009 (Core)[root@centos7 ~]# yum update [root@centos7 ~]# reboot //升级centos7小版本后需要重启二、 安装epel-relase、yum-utils和 rpmconf[root@centos7 ~]# yum install epel-release -y[root@原创 2021-11-19 12:44:33 · 3273 阅读 · 0 评论 -
JVM性能调优监控工具 jvisualvm.exe
一、问题现状现实企业级Java开发中,有时候我们会碰到下面这些问题:OutOfMemoryError,内存不足内存泄露线程死锁锁争用(Lock Contention)Java进程消耗CPU过高…二、hprof文件的生成在运行时候添加JVM 参数:-XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=自定义路径三、tomcat中设置jvm参数linux系统1.打开/tomcat_home/bin/catalina.sh文件2.加上:JA原创 2021-10-10 16:29:32 · 957 阅读 · 0 评论 -
Linux 查看某个进程占用的CPU、内存
一、用top命令指定服务的PID直接使用top可以监听全部服务所占用情况,使用 top -p PID 可以查看指定的服务占用资源情况。内容解释:PID:进程的ID USER:进程所有者 PR:进程的优先级别,越小越优先被执行 NInice:值 VIRT:进程占用的虚拟内存 RES:进程占用的物理内存 SHR:进程使用的共享内存 S:进程的状态。S表示休眠,R表示正在运行,Z表示僵死状态,N表示该进程优先值为负数 %CPU:进程占用CPU的使用率 %MEM:进程使用原创 2021-09-28 10:08:20 · 19675 阅读 · 0 评论 -
Linux scp 断点续传
Linux服务器上的scp 是通过ssh协议传输数据,如果是想传输一个很大的数据,如一个tar包,400G左右,通过scp拷贝时,有可能遇到服务器断电或者网络不稳定中断等悲剧问题,那么类似scp拷贝的另一个命令 rsync就可以实现意外中断后,下次继续传,命令如下:# rsync -P --rsh=ssh pic.tar.gz 192.168.205.304:/home/199_home.tar说明:-P: 是包含了 "–partial –progress", 部分传送和显示进度-rsh=ssh翻译 2021-07-31 12:30:27 · 5619 阅读 · 1 评论 -
阿里云OSS存储桶上传视频
一般情况下我们直接使用OSS直接上传视频会一直卡着不动,这时需要我们修改存储桶(bucket)的跨域设置1、进入bucket,点击权限管理-->跨域设置2、创建规则## 来源Access-Control-Allow-Origin*## 允许的Methods 建议全部选上## 允许的HeadersETagx-oss-request-idx-oss-version-id3、修改完后保存即可。这样就可以在OSS中上传视频了。...原创 2021-06-28 14:10:33 · 982 阅读 · 0 评论 -
Linux 上如何清除 RAM 内存高速缓存,缓存和交换空间
一、在Linux中如何清除缓存?每一个Linux系统有三个选项来清除缓存而不中断任何进程或服务。1,仅清除缓存页sync; echo 1 > /proc/sys/vm/drop_caches2,清除目录项和inodessync; echo 2 > /proc/sys/vm/drop_caches3,清除,缓存页,目录项和inodessync; echo 3 > /proc/sys/vm/drop_caches上述命令的说明:①sync将刷新文件系统缓存,命令通过";翻译 2020-10-19 09:54:43 · 1365 阅读 · 1 评论 -
spring连接redis,隔一段时间断开
问题描述:spring连接redis,隔一段时间断开,重启服务后就又好了1、修改监听队列的大小#默认为128,128限制了接收新 TCP 连接侦听队列的大小net.core.somaxconn = 20482、修改内存分配策略#修改overcommit_memory,它的值有0、1、2#0,表示内核将检查是否有足够的可用内存供应用进程使用;如果有足够的可用内存,内存申请允许;否则,内存申请失败,并把错误返回给应用进程。#1,表示内核允许分配所有的物理内存,而不管当前的内存状态如何。#2,表原创 2020-09-25 12:55:50 · 3020 阅读 · 1 评论 -
sed基础操作指令
sed 命令应用广泛,使用简单,是快速文本处理的利器。它其实没多少技巧,背诵、使用是最合适的学习渠道,属于硬技能。但它又很复杂,因为高级功能太多。随着使用,你会发现它和vim的一些理念是想通的,正则表达式的语法也基本上一样,并没有多少学习成本。从个人视野和工作效率上来看,sed命令都是程序员必须掌握的一个重要工具。一个简单的入门![在这里插入图片描述](https://img-blog.csdnimg.cn/20200703160831844.jpg?x-oss-process=image/wate翻译 2020-07-03 16:12:13 · 1393 阅读 · 0 评论 -
ssh 登录 packet_write_wait: Connection to ip地址 port 22: Broken pipe
问题现象使用 ssh 命令连接服务器之后,如果一段时间不操作,再次进入 Terminal 时会有一段时间没有响应,然后就出现错误提示:Write failed: Broken pipe。这时只能重新用 ssh 命令进行连接服务器。解决方法方法一:在客户端的 ~/.ssh/config 配置文件中添加ServerAliveInterval 60IPQoS lowdelay throughput方法二:在服务器的 /etc/ssh/ssh_config 配置文件中添加ClientAliveInt原创 2020-06-21 10:49:48 · 4622 阅读 · 0 评论 -
shell 判断字符串是否存在数组中
语法格式: [[ "${array[@]}" =~ "字符串" ]]示例:#!/bin/sh##数组array=(addressbasecartcompanystore)# $1 如果存在,输出 $1 exists,$1 如果不存在,输出 $1 not existsif [ "$1" != null ];then if [[ "${array[@]}" =~ "${1}" ]]; then echo "$1 exists" elif [[ ! "${array[@原创 2020-06-04 14:53:42 · 31124 阅读 · 3 评论 -
使用 curl 发送 POST 请求
一、参数说明格式: curl -H 请求头 -d 请求体 -X POST 接口地址参数内容格式-H(或者 --header)请求头“Content-Type: application/json”-dPOST内容‘{“id”: “001”, “name”:“张三”, “phone”:“13099999999”}’ 或者 ‘id=001&name=张三...原创 2020-02-19 20:42:46 · 111286 阅读 · 0 评论 -
Centos SSH双因子认证
一、简介双因子认证 – Two-factor authenticator(即 2FA),是一种通过组合两种不同的验证方式进行用户验证的机制。OpenSSH双因子认证是信息安全等级保护中较为重要的安全检测项之一,要求远程登陆核心服务器时必须进行二次认证(指纹、虹膜、动态码等)。配置免费开源的Google Authenticator动态码认证便是一个不错的双因子认证方案,轻松实现远程登陆核心服...原创 2019-12-19 10:47:58 · 3481 阅读 · 0 评论 -
批量删除rabbitmq队列
1、在启用了 rabbitmq management plugin 之后,可以通过 http://IP:15672/cli/ 下载 rabbitmqadmin shell 文件,linux/windows都可用curl,如下:##下载文件sudo curl http://IP:15672/cli/rabbitmqadmin -o /usr/sbin/rabbitmqadmin##添加可执行...原创 2019-12-17 14:48:40 · 1929 阅读 · 0 评论 -
使用systemd管理java的jar包服务
一、编写启动和停止脚本#### 启动脚本# cat /usr/local/bin/start.sh#!/bin/bashexport JAVA_HOME="/usr/java/jdk1.8.0_211"export PATH=$JAVA_HOME/bin:$PATHServiceName=$1CMD_PATH="/opt/services/ds/${ServiceName}"cd...原创 2019-11-15 13:44:59 · 3468 阅读 · 0 评论 -
Nginx 405 not allowed解决办法
场景: 对外接口在只有通过GET请求才能获取到页面数据,但是第三方请求通过Form表单将这个接口的请求通过POST方式来请求,所以出现 405 的报错,第三方那边不可能改,因此只有我们强制将POST请求转成GET请求。场景一:本地访问没有设置过代理,location中只有root设定的字段,这时可以用return加301或者302状态码结合proxy将请求转过去即可##在nginx中增加如下...原创 2019-10-16 09:20:18 · 15310 阅读 · 1 评论 -
SHELL脚本将日期中小于10的数去除前面的零
方法一:#!/bin/bashtmonth=`date +%m`tyear=`date +%y`tday=`date +%d`day=`expr $tday + 0` #去除日期前面的零month=`expr $tmonth + 0` #去除月份前面的零year=`expr $tyear + '2000'`now_date=`printf "%04d/%d/%d"...原创 2019-10-14 16:16:04 · 2872 阅读 · 0 评论 -
时间戳和普通时间转换
时间戳是自 1970 年 1 月 1 日(00:00:00 GMT)以来的秒数。它也被称为 Unix 时间戳(Unix Timestamp)。它是一种时间表示方式,定义为从格林威治时间1970年01月01日00时00分00秒起至现在的总秒数。一、unix系统之间的转换date +%s --->将普通时间转化为时间戳date -d @timestamp --->将时间戳转换为普通时间二、mys原创 2017-06-05 15:07:54 · 4474 阅读 · 0 评论 -
linux的grub菜单加密
很多时候我们不想别人直接登陆到我们的linux服务器上面去,但是root密码通过一定手段可以破解,所以这个时候就想到给grub菜单加密。不同操作系统的加密方法也是不一样的,我主要介绍centos6和centos7两个版本一、centos6 grub菜单加密方法1、查看内核版本[root@iZelcyzfsctufeZ ~]# uname -r 2、生成加密密码[root@iZelcyzfsctuf原创 2017-06-08 15:24:01 · 1964 阅读 · 0 评论 -
设置或修改centos 的root密码的方法与步骤
centos6和centos7,两个操作系统修改root密码的方式不一样,centos7比较麻烦一点,centos6比较简单,所以先介绍centos7的修改方法一、centos7 设置root密码1、在启动grub菜单,选择编辑选项启动 2、按键盘e键,来进入编辑界面 3、找到linux16的那一行,将ro改为rw init=/sysroot/bin/sh 4、按下 ctrl+x ,进入单用户原创 2017-06-08 15:56:44 · 7460 阅读 · 0 评论 -
crontab定时任务
一、基本格式* * * * * command 分 时 日 月 周 命令 第1列表示分钟1~59 每分钟用*或者 */1表示 第2列表示小时1~23(0表示0点) 第3列表示日期1~31 第4列表示月份1~12 第5列标识号星期0~6(0表示星期天) 第6列要运行的程序,程序被送入sh执行,这个shell只有USER,HOME,SHELL这三个环境变量 二、crontab 的原创 2017-07-03 10:57:25 · 1194 阅读 · 0 评论 -
从哪些方面降低系统故障时间,提高网站可用性
很多因素都会导致网站发生故障,从而影响网站的高可用性,比如服务器硬件故障、软件系统故障、IDC机房故障、程序上线前测试未发现的Bug、遭受分布式攻击、突发访问人数剧增等。对于重要的MySQL数据库主库,我们习惯于从硬件层和软件层来实现热备,避免单点。越是复杂的设备,发生故障的概率越大。在磁盘没有损坏的情况下,应用程序导致服务器宕机的概率,远高于简单的磁盘阵列宕机的概率。所以,从硬件层解决的话,可以在原创 2017-07-05 09:52:47 · 792 阅读 · 0 评论 -
phpMyAdmin - Error:Failed to generate random CSRF token!
如果phpmyadmin报错:Error:Failed to generate random CSRF token!需要检查一下php.ini中的 session.save_path 的配置解决方式: 1、在php.ini文件中设置session.save_path的值,并创建该路径对应的文件夹,设置权限为可以写入和读取,并设置session.auto_start的值为1; 2、将session原创 2017-07-12 14:54:43 · 4591 阅读 · 0 评论 -
进程和线程
一、进程和线程定义 进程是具有一定独立功能的程序关于某个数据集合上的一次运行活动,进程是系统进行资源分配和调度的一个独立单位。 线程是进程的一个实体,是CPU调度和分派的基本单位,它是比进程更小的能独立运行的基本单位。 如果把进程比喻成一个屋子,那进程就相当于屋子里的每一个人二、进程和线程的区别 1、进程的内存是独立的;线程共享内存空间 2、子进程的数据相当于把父进程的数据克隆一份,多个子原创 2017-07-24 13:07:57 · 451 阅读 · 0 评论 -
linux下追查线上问题常用命令
一、查占用cpu最多的进程 方法一: 核心指令:ps 实际命令:ps H -eo pid,pcpu | sort -nk2 | tail执行效果如下:[work@test01 ~]$ ps H -eo pid,pcpu | sort -nk2 | tail31396 0.631396 0.631396 0.631396 0.631396 0.631396 0.631396 0.6转载 2017-07-25 17:26:56 · 626 阅读 · 0 评论 -
查看lnmp的编译参数和版本
一、查看nginx的编译参数/usr/local/nginx/sbin/nginx -V查看nginx的版本号/usr/local/nginx/sbin/nginx -v二、查看php的编译参数/usr/local/php/bin/php -i | grep -i configure查看php的版本号/usr/local/php/bin/php -v查看php已经编译的模块/usr/local/ph原创 2017-08-03 10:19:52 · 3538 阅读 · 0 评论 -
线上操作与线上问题排查实战
一、了解机器连接数情况 问题:192.168.88.136的sshd的监听端口是22,如何统计192.168.88.136的sshd服务各种连接状态(TIME_WAIT/ CLOSE_WAIT/ ESTABLISHED)的连接数。netstat -an | grep 192.168.88.136:22 | awk '/^tcp/ {++S[$NF]} END {for(a in S) print翻译 2017-08-17 14:42:48 · 830 阅读 · 0 评论