Linux
Linux
旷野历程
精通微服务架构、分布式架构以及高性能、高并发、高可用等领域;精通MySQL数据库原理,对SQL调优、分库分表、数据一致性、海量数据处理等有深入了解。具备独立设计和开发的经验,曾负责过大型分布式服务设计、支付交易系统的设计,能够快速定位和解决线上问题。
展开
-
Nginx反向代理WebSocket
在配置 Nginx 前先了熟悉一下配置文件的说明,方便更好的理解。原创 2024-02-04 10:19:24 · 1652 阅读 · 0 评论 -
Linux下安装Nginx及配置SSL证书
如果是初次安装需要执行 make install,非初次安装切记不要执行 make install,否则会重新安装nginx。上述操作执行完成以后,你的目录下会出现 objs 文件夹,文件夹内存在 nginx 文件,如图:接下来使用新的 nginx 文件替换掉之前安装目录 sbin 下的 nginx,注意这里的替换的时候可以先将之前的文件备份下,停掉nginx服务成功之后,进入到 nginx 安装目录下,查看 ssl 是否成功。说明已经开启。原创 2024-01-24 20:44:44 · 1625 阅读 · 0 评论 -
Shell在循环中使用i++
在这个例子中,((i++)) 用于自增变量 i 的值,每次循环迭代时 i 的值增加 1。你也可以使用 let "i++" 来达到同样的效果。在 Shell 脚本中,可以使用 (( i++ )) 或者 let "i++" 来增加变量 i 的值。这用于在循环中自增变量 i。这种自增的方式也可以在 for 循环中使用。在这个例子中,((i++)) 在 for 循环中用于自增循环变量 i。原创 2023-12-08 10:02:28 · 1128 阅读 · 0 评论 -
Shell脚本中[]和[[]]区别
总的来说,[[]] 提供了更多的功能,而且在某些情况下更容易使用和阅读,但是它是 Bash 的扩展,可能在其他 Shell 中不被支持。如果你在编写 Bash 脚本,[[]] 是一个更强大和灵活的选项。在 Shell 脚本中,[] 和 [[]] 是用于条件测试的不同语法结构。它们有一些区别,主要体现在对字符串处理和表达式的支持上。[[]] 是 Bash 的扩展,提供了更多的功能,包括高级字符串比较、正则表达式匹配等。[] 也被称为 test 命令,它支持基本的条件测试。原创 2023-12-08 10:01:50 · 464 阅读 · 0 评论 -
Shell函数传递值
在这个例子中,my_function 函数定义了两个本地变量 arg1 和 arg2,它们分别代表两个参数。在函数体内,通过 $1 和 $2 来获取传递给函数的两个参数的值。当你在函数内部使用 local 声明变量时,该变量的作用域仅限于该函数,而不会影响全局作用域。有助于防止在函数内部和外部发生命名冲突,同时提高代码的可读性和维护性。调用函数时,传递了两个字符串参数:"Hello" 和 "World",函数会输出这两个参数的值。还可以根据需要在函数中使用更多的参数,只需相应地调整函数定义和调用即可。原创 2023-12-08 10:00:50 · 326 阅读 · 0 评论 -
Shell脚本中if [[-f ]]什么意思
是一个条件语句,用于检查指定路径是否是一个文件。这个条件语句中的关键部分是 -f,它是一个文件测试运算符,用于检查文件是否存在且是一个常规文件(而不是目录或其他类型的文件)。在shell脚本中,原创 2023-12-08 09:59:54 · 3813 阅读 · 0 评论 -
Linux结束程序运行的命令
通过进程 ID(PID)结束一个程序的运行。kill 1234。原创 2023-12-04 14:43:35 · 328 阅读 · 0 评论 -
安装Nginx时报:./configure: error: can not define uint32_t
安装版本:v.1.25.3。原创 2023-11-19 15:20:20 · 448 阅读 · 0 评论 -
谈谈 nohup 提示:忽略输入重定向错误到标准输出端
分享知识 传递快乐使用 nohup 执行脚本时输出:nohup: 忽略输入并把输出追加到"nohup.out",如:[guest@localhost ~]$ nohup run.sh &[guest@localhost ~]$ nohup: 忽略输入并把输出追加到"nohup.out"[guest@localhost ~]$ [guest@localhost ~]$ nohup run.sh > /dev/null &[guest@localhost ~]$ no原创 2022-04-29 19:53:19 · 5420 阅读 · 0 评论 -
反弹shell - 文件描述符与重定向
分享知识 传递快乐0x01 文件描述符文件描述符有以下三种:标准输入:standard input 0 (默认设备键盘) 标准输出:standard output 1(默认设备显示器) 错误输出:error output 2(默认设备显示器)0x02 重定向重定向主要分为两种:输入重定向 <、<< 输出重定向 >、>>输入重定向格式: [n]< word[guest@localhost ~]$ cat 0<原创 2022-04-29 19:52:40 · 449 阅读 · 0 评论 -
RocketMQ启动 mqbroker 报 Cannot allocate memory
分享知识 传递快乐RocketMQ 启动 mqbroker 时日志文件打印如下:Java HotSpot(TM) 64-Bit Server VM warning: INFO: os::commit_memory(0x00000005c0000000, 8589934592, 0) failed; error='Cannot allocate memory' (errno=12)## There is insufficient memory for the Java Runtime Env原创 2022-02-21 11:14:11 · 1536 阅读 · 1 评论 -
RocketMQ启动mqnamesrv报:java.net.BindException: 地址已在使用
分享知识 传递快乐启动 RocketMQ 的 mqnamesrv 时日志中报 “地址已经使用”,如下:Java HotSpot(TM) 64-Bit Server VM warning: Using the DefNew young collector with the CMS collector is deprecated and will likely be removed in a future releaseJava HotSpot(TM) 64-Bit Server VM warn原创 2022-02-21 11:13:34 · 3174 阅读 · 0 评论 -
安装lsof命令和使用明细
分享知识 传递快乐Linux 查看端口占用情况可以使用 lsof 和 netstat 命令。lsof(list open files)是一个列出当前系统打开文件的工具。安装命令yum -y install lsof语法格式lsof -i:端口号查看端口的使用情况lsof -i:9876实用命令lsof -i:8080:查看8080端口占用lsof abc.txt:显示开启文件abc.txt的进程lsof -c abc:显示abc进程现在打开的文件.原创 2022-02-21 11:12:49 · 6192 阅读 · 0 评论 -
安装netstat命令和使用明细
分享知识 传递快乐netstat 命令作用是用于显示网络状态。可以利用 netstat 指令可得知整个 Linux 系统的网络情况。安装命令:yum -y install net-tools参数说明:-a或--all 显示所有连线中的Socket。 -A<网络类型>或--<网络类型> 列出该网络类型连线中的相关地址。 -c或--continuous 持续列出网络状态。 -C或--cache 显示路由器配置的快取信息。 -e或--extend 显示网络原创 2022-01-13 10:57:39 · 8641 阅读 · 0 评论 -
Linux防止SSH暴力破解
分享知识 传递快乐发现问题每次登录系统(CentOS7),就会发现有N次登陆失败的统计信息,如:注:由于本人系统已做SSH放暴力破解,还原不了真实的数据,此图借鉴别人。查看 /var/log/secure 日志文件可以看到文件中有很多认证失败的ip登录信息,这就说明已经被无数不同的IP地址和不同的用户进行SSH尝试连接了。防范办法密码再复杂也顶不住这样暴力扫描啊,为预防万一,下面总结了几种防范方法:1、禁止root登录修改sshd服务器端的配置文件/etc/...原创 2020-11-14 19:50:23 · 391 阅读 · 3 评论 -
Git实现SSH免密push、pull到Github
分享知识 传递快乐操作环境:Linux ContOS7我们使用git push/pull 到远程仓库(github、gitee)时,每次 push/pull 都会让输入用户名和密码。手动 push/pull 输入用户名和密码还可以接受,但如果想要实现自动提交数据呢?这时就需要通过免密的方式来完成push/pull 操作。生成SSH Key首先检查下本机是否已经安装了SSH,在终端输入ssh即可:如果没有安装进行 yum 安装:yum -y install openss...原创 2020-11-14 09:56:47 · 2933 阅读 · 2 评论 -
Centos7 安装Aria2下载工具
分享知识 传递快乐下载 Aria2https://aria2.github.io/安装依赖yum install autoconf automake libtool gcc gcc-c++ kernel-devel libgcrypt-devel libxml2-devel openssl-devel gettext-devel cppunit bzip2解压tar.gz文件到指定目录下[root@centos7 ~]# mkdir /opt/aria2[root@ce.原创 2020-06-14 22:24:27 · 2767 阅读 · 2 评论 -
Centos7 安装Python3环境
https://liqiang.io/post/install-python3-8-in-centos-973bdb81https://juejin.im/post/5e1d2810e51d4502044ecab7https://zhuanlan.zhihu.com/p/33660059原创 2020-06-12 18:28:15 · 1735 阅读 · 2 评论 -
Git 命令窗口常用命令
这些是各种场合常见的 Git 命令:开始一个工作区clone:克隆仓库到一个新目录 init:创建一个空的 Git 仓库或重新初始化一个已存在的仓库在当前变更上工作add:添加文件内容至索引 mv:移动或重命名一个文件、目录或符号链接 restore:恢复工作区文件 rm:从工作区和索引中删除文件 sparse-checkout:初始化及修改稀疏检出检查历史和状态bisect:通过二分查找定位引入 bug 的提交 diff:显示提交之间、提交和工作区之间等的差异 gr...原创 2020-06-12 11:21:12 · 555 阅读 · 0 评论 -
Github 提交不显示绿格子
分享知识 传递快乐记录一下在 github 上提交代码之后能看到自己的提交,但是却一直没有显示绿格子,原因是本地 git 的配置邮箱和 github 上面的邮箱不一致导致的。先进入创建的分支,然后通过 git 命令查看提交信息:[root@contos7 ssh]# git log通过上述命令就能看到提交的邮箱或用户名。解决办法如果是 windowns 系统,打开本地的 git bash (这是类似于 linux 的命令窗口);如果是 linux 系统,通过 li...原创 2020-05-31 23:01:54 · 746 阅读 · 0 评论 -
CentOS7 查看、关闭防火墙操作
分享知识 传递快乐查看防火墙状态[root@contos7 tmp]#firewall-cmd --state停止firewall[root@contos7 tmp]#systemctl stop firewalld.service禁止firewall开机启动[root@contos7 tmp]#systemctl disable firewalld.service—————————如有不足请留言指正相互学习,共同进步...原创 2020-05-16 18:51:18 · 216 阅读 · 0 评论 -
CentOS7 安装Git工具
分享知识 传递快乐1)安装依赖git 的一些模块依赖一些lib库,在安装 git 之前,须先安装这些lib库。yum install gcc-c++ zlib zlib-devel openssl pcre2)先去官网下载git文件git-2.25.0.tar.gz3)解压tar -zxvf git-2.25.0.tar.gzcd git-2.25.04)配置./configure --prefix=/opt/git5)编译安装makemake.原创 2020-05-14 21:14:42 · 258 阅读 · 0 评论 -
Linux整合LNMP(Centos7.4+Nginx+PHP+MariaDB)
分享知识 传递快乐由于之前写过Windows整合方式,有很多相同的地方,在此就不过多重复写了,参考下面几篇文章就够用了。Win7整合WNMP(Linux整合LNMP(Centos7.4+Nginx+PHP+MariaDB))Nginx安装注意事项Linux安装MariaDB(超详细的yum安装、二进制安装)Nginx和MariaDB配置还是很顺利,但在配置PHP时出...原创 2020-01-15 21:23:49 · 609 阅读 · 0 评论 -
Linux安装MariaDB(超详细的yum安装、二进制安装)
分享知识 传递快乐1、yum安装官方网站yum配置方法链接:https://mariadb.com/kb/en/library/yum/1)配置yum源(安装不同版本需要配置不同源)为了更好的管理MariaDB版本,创建一个新源文件:[guest@localhost ~]$ cd /etc/yum.repos.d/[guest@localhost yum.repos....原创 2019-12-15 17:42:10 · 12803 阅读 · 1 评论 -
Windowns安装MariaDB(超详细的免安装版配置教程)
分享知识 传递快乐Windows上ZIP包的入门非常简单,此发行版包括预构建的数据库文件,这些文件可以在解压缩ZIP后立即使用。1.、获取安装包下载地址:https://downloads.mariadb.org/mariadb/2、解压下载完成后,解压到指定目录,使用管理员身份运行命令行窗口,切换目录到安装包的bin目录下:D:\mariadb\10.4....原创 2019-12-03 19:24:30 · 12399 阅读 · 2 评论 -
Linux记录终端交互输出到屏幕上的日志(script命令)
分享知识 传递快乐在Linux中,有很多的命令在执行完后不知道得不到返回结果,因此不能判断是否执行成功,比如:scp、ftp、unzip等命令,如果是手动执行则会打印在当前屏幕上,根据屏幕上所显示的日志可以判断出是否执行成功。那么如果是用脚本执行呢?比如:scp、ftp、unzip等命令,这些打印在屏幕上的日志我们没法直接通过重定向来保存,因为它不是标准输出;这个时候看不到日志了,怎...原创 2019-11-25 11:22:09 · 3363 阅读 · 6 评论 -
Shell函数(函数定义、函数变量、函数调用、函数传参、函数返回值、获取函数返回值)
分享知识 传递快乐1、函数定义linux shell 可以用户定义函数,然后在shell脚本中可以随便调用。Shell 函数定义的语法格式如下:[function] funname [()]{ 函数体 [return int;]}格式1:简化写法,不写 function 关键字:函数名(){ 函数体}格式2:这是标准写法,也推荐...原创 2019-11-23 15:45:02 · 28957 阅读 · 2 评论 -
Linux服务器之间交互实现无密码交互
分享知识 传递快乐服务器A:192.168.1.1服务器B:192.168.1.2场景:服务器A(192.168.1.1)访问服务器B(192.168.1.2)实现免密登陆登陆服务器A1、创建公钥[guest@localhost ~]$ ssh-keygen -t rsassh-keygen命令后面的 -t rsa 不是必须的,以为这里默认生成的密钥...原创 2019-11-23 13:39:58 · 268 阅读 · 0 评论 -
Shell实现FTP上传文件,并保存执行日志
分享知识 传递快乐这篇文章是Linux实现FTP上传下载的续篇文章,关于FTP具体语法使用,请参考《Linux实现FTP上传下载》。FTP上传文件并保存执行日志#!/bin/bash################################################## 定义函数####################################...原创 2019-11-23 13:31:30 · 2514 阅读 · 0 评论 -
Shell实现FTP下载文件,并保存执行日志
分享知识 传递快乐这篇文章是Linux实现FTP上传下载的续篇文章,关于FTP具体语法使用,请参考《Linux实现FTP上传下载》。FTP下载文件并保存执行日志#!/bin/bash#auth hy################################################## 定义函数##########################...原创 2019-11-23 13:30:48 · 1486 阅读 · 0 评论 -
Linux实现FTP上传下载
分享知识 传递快乐lftp支持FTP、SETP、HTTP和FTPs等多种文件传输协议。 还支持FXP,允许数据绕过客户端直接在两个FTP服务器之间传输。同时还有递归镜像整个目录树以及断点续传下载的功能, lftp的传输任务可以安排时间段计划执行,可以限制带宽和创建传输列表,支持类似Unix shell的任务控制。下面举例看一下FTP下载的命令:#!/bin/shlf...原创 2019-11-01 10:59:03 · 856 阅读 · 0 评论 -
Linux不用FTP命令的情况下实现文件交互(SCP命令传输)
分享知识 传递快乐scp是 secure copy的缩写, scp是linux系统下基于ssh登陆进行安全的远程文件拷贝命令。linux的scp命令可以在linux服务器之间复制文件和目录。 scp命令用于在Linux下进行远程拷贝文件的命令,和它类似的命令有cp,不过cp只是在本机进行拷贝不能跨服务器,而且scp传输是加密的。安装scpyum -y install o...原创 2019-11-01 10:28:24 · 642 阅读 · 0 评论 -
Linux下统计文件个数和目录个数
分享知识 传递快乐统计文件个数和目录个数需要用到 ls 、grep 、wc 三个命令:ls 命令是Linux下最常用的指令之一。ls英文 list 的缩写,其功能是列出指定目录下的内容及其相关属性信息。grep是“global search regular expression and print out the line”的简称,意思是全面搜索正则表达式,并将其打印出来。这个...原创 2019-10-31 17:33:14 · 768 阅读 · 0 评论 -
Linux查看磁盘使用空间
分享知识传递快乐最近公司服务器磁盘空间总是时不时的爆满,导致服务器持掉,故写此定时任务来判断磁盘空间。在里省略定时任务代码,直接看Shell命令执行操作。先来认识和了解一下磁盘管理DF的命令参数。df命令磁盘管理df命令用于显示磁盘分区上的可使用的磁盘空间。默认显示单位为KB。可以利用该命令来获取硬盘被占用了多少空间,目前还剩下多少空间等信息。语法df(选项)(参数...原创 2019-10-09 13:24:56 · 860 阅读 · 0 评论 -
Linux下安装Nginx及Nginx安装注意事项
分享知识 传递快乐nginx的一些模块依赖一些lib库,在安装nginx之前,须先安装这些lib库,依赖库主要有g++、gcc、openssl-devel、pcre-devel和zlib-devel 所以执行如下命令安装yum install gcc-c++ yum install pcre pcre-develyum install zlib zlib-develyum inst...原创 2019-08-01 15:25:20 · 370 阅读 · 0 评论 -
Linux安装配置SVN服务器
分享知识 传递快乐检查是已经安装了svn:rpm -qa subversion卸载旧版本的svn:yum remove subversion然后再检查是否已经下载成功:rpm -qa subversion检查yum是否有最新版的安装版本:yum list | grep subversion如果不是最新版本:创建一个yum repo文件:vi /etc/yum.re...原创 2019-08-01 14:36:43 · 212 阅读 · 0 评论 -
Linux压缩和解压文件命令
Linux压缩和解压文件命令.tar解包:tar xvf FileName.tar打包:tar cvf FileName.tar DirName(注:tar是打包,不是压缩!).gz解压1:gunzip FileName.gz解压2:gzip -d FileName.gz压缩:gzip FileName.tar.gz 和 .tgz解压:tar zxvf ...原创 2019-08-01 13:16:02 · 573 阅读 · 1 评论 -
Linux下的YUM与RPM区别
分享知识 传递快乐YUM一、yum是什么yum = Yellow dog Updater, Modified主要功能是更方便的添加/删除/更新RPM包,它能自动解决包的倚赖性问题,同时它也能便于管理大量系统的更新问题。注:为什么要使用yum而不用apt,最简单的原因,Fedora自带二、yum特点可以同时配置多个资源库(Repository) 简洁的配置文件(/etc/yum....原创 2019-08-01 12:06:50 · 958 阅读 · 0 评论 -
Linux设置开机启动
分享知识 传递快乐Linux 设置开机启动项的几种方法方法一:编辑rc.loacl脚本直接在/etc/rc.local中添加启动脚本。$ vim /etc/rc.local方法二:Linux通过chkconfig设置开机启动服务创建脚本vim /etc/init.d/bootshell编辑脚本内容如下(脚本前面三行格式固定)#!/bin/sh#chkconfig: 234...原创 2019-08-01 12:05:56 · 408 阅读 · 0 评论 -
Linux中make安装与卸载及注意事项
Linux中make安装与卸载及注意事项Linux安装软件采用源码安装灵活自由,适用于不同的平台,维护也十分方便。源码的安装一般由3个步骤组成:配置(configure)编译(make)安装(make install)具体的安装方法一般作者都会给出文档,这里说明配置(configure)的prefix选项以安装supersparrow-0.0.0为例,我们打算把他安装到目录 /usr/local/s...原创 2019-07-08 07:29:36 · 40561 阅读 · 3 评论