- 博客(35)
- 资源 (1)
- 收藏
- 关注
原创 自编译nginx的日志轮替配置
一般来说,linux通过rpm安装的nginx都自带有日志轮替的配置,所以并不会导致单个日志过大的问题。但如果我们通过自编译来部署nginx,是需要自行配置的。日志轮替的原理就是利用linux的logrotate工具进行,我们现在直接参考rpm安装的logrotate配置文件来进行配置,内容如下/var/opt/rh/rh-nginx120/log/nginx/*log { create 0644 nginx nginx daily rotate 10 missingo...
2022-03-24 16:21:43
4255
原创 zabbix监控的安装与配置
zabbix是相当流行的开源监控系统,接下来我将分享zabbix监控的安装以及配置上的一些经验,主要的内容包含下面几个部分,重点在告警聚合功能和部署使用过程中的一些问题解决,大部分的内容其实可以参考官方文档。目录1、拓扑结构2、zabbix安装2.1、Zabbix软件部署安装依赖关闭selinux配置zabbix server配置自启动2.2、MySQL数据库部署MySQL 5.7二进制安装部署安装版本mysql-5.7.34-el7-x86_64.tar.gz
2021-12-26 12:28:04
2491
原创 nginx不中断升级
定位旧版本nginx的二进制执行文件和PID文件位置,例如 /usr/local/nginx/sbin/nginx和/usr/local/nginx/logs/nginx.pid查询旧版本nginx的master进程的PID,记录为 OldMasterPID我们采用官方命令ps axw -o pid,ppid,user,%cpu,vsz,wchan,command | egrep '(nginx|PID)(截图待补充)将新版本的nginx覆盖掉旧版本,对旧版本的二进制文件进行备份的操作
2021-10-09 11:40:38
277
原创 redhat/centos 磁盘在线扩容
在使用VMware虚拟化对linux系统的磁盘进行了扩容,在VMware操作后,进入系统我们却发现磁盘容量是没有扩充的,此时一般采用的方法就只能对系统进行重启。但总是有那么些场景我们应该尽量避免进行这样的重启操作,那么是否存在这样的方法呢?答案是肯定的,采用的命令为scsi-rescan我们通过 scsi-rescan -s 就可以将磁盘的扩容通知内核,重新刷新,获取正确的容量数据,接下来就可以顺利进行文件系统的扩容了。...
2021-10-08 10:57:19
801
原创 Linux中tcp队列查询
在做系统优化的过程中,最常见的一种情况就是tcp并发连接数的调整。首先了解一下Linux系统中tcp连接队列的情况,在内核2.2版本以后,listen队列分成两组SYN和ACCEPT,如下图注意:两队列都是处于listen状态的队列那么在实际情况下,我们如何判断这两个队列是排队情况。在内核3.10版本之后,可以通过ss -tnlp的命令查询当处于listen状态下,Recv-Q表示Accept Queue,Send-Q表示backlog参数。那么backlog参数又是什么
2021-09-19 17:27:02
2664
原创 oracle数据库初始化参数配置错误无法启动故障解决
有时候,我们会因为某些原因(例如修改最大的内存使用)去修改Oracle数据库的初始化参数,但如果修改错误,重启之后就会导致数据库无法启动。例如,原本的参数sga_max_size=3G、sga_target=2G,但某天修改成sga_max_size=1G、sga_target=2G,这样就会导致数据库启动的时候提示sga_target大于sga_max_size,无法启动。此时我们就需要修改初始化参数,但由于数据库无法启动到任何阶段,没有办法通过alter system修改,只能通过修改数据库参数文件
2021-09-05 19:06:30
2344
原创 redhat/centos 7关闭透明大页(transparent hugepages)
一般我们在安装数据库(关系型和非关系型),例如Oracle、redis、MySQL、MongoDB的时候,为了增强数据库运行的稳定性,需要关闭透明大页(transparent hugepages)以下是通过配置tuned来关闭透明大页的方法首先要确认已经安装了tuned,[root@localhost ~]# rpm -qa | grep tunedtuned-2.11.0-9.el7.noarch如果没有则先安装yum installtuned -y安装完成后运行system.
2021-08-27 12:03:08
3912
原创 chronyd同步windows时钟源问题
在某个项目中,使用到了windows系统部署的时钟源作为linux系统的时钟同步目标,使用的同步软件为chronyd。然而,当我们配置好/etc/chrony.conf,然后启动chronyd服务,却发现chrony同步时间失效但当我们使用chronyc source -v去测试时钟源同步情况的时候,其实是可以从时钟源同步到时间信息的,但是存在一个奇怪的问题,始终源是被标记为不可用的,如下图(图片待补充)接下来,我通过tcpdump进行抓包,通过对比发现,时钟源返回的ntp协议版本是v3。
2021-08-25 17:33:11
5782
1
原创 例行性工作(crontab)
at所属服务atdat所执行的任务写入/var/spool/at文本中使用者账户限制,/etc/at.allow文件中的账户可以使用at,不存在的账户不能使用;/etc/at.deny中的账户不能使用at,不存在的账户可以使用;如果两个文件都不存在,只有root可以使用atat [-mldv] TIMEat -c 任务号码 -m:at任务完成后以email通知使用者 ...
2019-10-07 21:37:51
871
原创 磁盘配额(Quota)与高级文件系统管理
Quotaquota一般用途 WWW服务显示每个人网页容量 mail服务限制每个人邮件容量 file服务限制每个人网络存储容量 针对群组限制磁盘容量 针对用户限制磁盘容量 EXT:使用link方式限制目录配额 XFS:针对目录限制磁盘容量使用限制1、EXT文件系统类型下仅对整个文...
2019-10-07 21:35:00
1114
原创 linux帐号管理与ACL权限设置
用户与群组用户标识符:UID与GID用户账号/etc/passwd每一行代表一个用户,一共七个字段1、账户名称 帐号,对应UID2、密码 早期Unix系统密码存放的地方,由于隐私问题使用x代替,现在加密存放在/etc/shadow3、UID 用户的ID4、GID 用户所属群组的ID5、用户信息说明列 ...
2019-10-07 21:24:02
267
原创 shell script
script执行方式的差异source、sh script、./scriptsh script或者直接执行脚本,是产生子程序,并在子程序内的bash进行执行,执行结束后变量或动作将结束而不会回传父程序source则是在父程序内直接执行,所以在更改环境变量后一般使用source使更改后的环境变量生效判断式test指令测试功能文件类型判断参数 意义-e “文...
2019-10-07 21:19:20
183
原创 正则表达式
基础正则需要注意语系编码的影响,例如,英文大小写的编码排序中LANG=C时:0 1 2 3 ... A B C D ... Z a b c d ... zLANG=zh_CN时:0 1 2 3 ... a A b B c C ... z Z特殊符号 代表意义[:alnum:] 代表英文大小写字符及数字,亦即 0-9, A-Z, a-z[:alpha:] 代表任何英文大小写字符,亦...
2019-10-07 21:15:56
145
原创 BASH
shell是与kernel沟通的桥梁检查系统可用shell/etc/shellscentos默认使用bashbash的优点 历史命令记录功能,记录文件为 ~/.bash_history 命令与文件补全功能 [Tab] 接在一串指令的第一个字的后面,则为命令补全; [Tab] 接在一串指令的第二个字...
2019-10-07 21:14:46
754
原创 VIM编辑器
三种模式 一般指令模式 打开文件时默认的模式,具有光标移动、删除、复制、粘贴等行为 编辑模式 对文件进行修改等行为,通过按键"a,A,i,I,o,O,r,R"从一般模式转入编辑模式,通过ESC按键退回一般指令模式 命令行命令模式 可对文件进行读取、保存、退出、查找文...
2019-10-06 17:13:20
137
原创 压缩、打包和备份
常见压缩指令常见压缩指令 文件拓展名: *.z compress程序压缩文件 *.zip zip程序压缩文件 *.gz gzip程序压缩文件 *.bz2 bzip2程序压缩文件 *.xz xz程序压缩文件 *.tar ...
2019-10-06 17:09:01
2540
原创 Linux磁盘和文件系统管理
文件系统的组成Linux文件系统(filesystem)组成 superblock:记录整个文件系统的信息,包括inode、block的总量、使用量、剩余量,以及文件系统的格式和其他相关信息 inode:记录文件或者目录的属性和数据所在的block号码,一个文件或者目录占用一个inode block:记录文件的实际数据 inode和blo...
2019-10-06 17:06:10
241
原创 文件目录和管理
Linux目录配置标准:FHSFHS(Filesystem Hierarchy Standard)目录定义有四种交互作用的形态 可分享的 不可分享的不变的 /usr(软件放置处) /etc(配置文件) /opt(第三方软件) /boot(内核)可变动的 /var/m...
2019-10-06 17:02:24
276
原创 文件权限
文件类型权限命令:ls -l[文件类型权限] [连接数] [用户] [群组] [容量] [最后修改时间] [文件名]文件类型权限 分为10个字段 [0][123][456][789] 其中字段0表示文件的类型 字段123表示用户(user)权限 字段456表示群组(group)权限 字段789表示其他用户(othe...
2019-10-06 16:58:51
298
原创 centos7安装oracle 11g grid过程中遇到的问题
问题一:安装过程中,执行root.sh脚本的时候提示ohas启动失败,并提示操作系统版本不符合要求原因:grid不支持centos7版本的服务创建,所以,需要手动添加ohas服务解决方法:(1)以root用户运行:vi /usr/lib/systemd/system/ohas.service将以下内容添加后保存[Unit]Description=Oracle High Availability S...
2018-05-04 16:12:38
1497
原创 centos下安装VirtualBox
参考链接 https://wiki.centos.org/zh-tw/HowTos/Virtualization/VirtualBox有时候,我们总是不可避免的需要在linux下使用windows,安装双系统只能解决我们同一时间只能操作一种系统,切换起来相当麻烦而且耗费时间。所以,在必要的时候,使用虚拟机来解决上面的问题是一个相当不错的方法。系统:centos 6.8 X641、首先需
2016-12-27 17:35:45
473
原创 kernel更新F2FS模块
参考链接 https://kernel.googlesource.com/pub/scm/linux/kernel/git/jaegeuk/f2fs-stable/
2016-11-20 17:25:10
1416
原创 kernel中添加BFQ I/O Scheduler
参考链接 http://algo.ing.unimo.it/people/paolo/disk_sched/sources.php需要的工具:git首先,确定kernel所处的分支,例如我内核的分支位3.10.49,然后打开终端,输入一下命令wget -nd --no-parent --level 1 -r -R "*.html*" --reject 3.10.8+ \
2016-11-20 17:11:42
1580
原创 centos6.8开启NTFS支持
centos安装完之后,默认是不支持NTFS磁盘格式的,解决的方法之一就是安装NTFS-3G模块,但是默认的软件源是没有这个依赖库的,我们需要额外的阿里云软件源来获取,首先终端切换到root用户,然后田间软件源wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-6.repo针对centos5.X/
2016-11-19 22:12:35
7040
原创 centos 6.8使用wine安装QQ2016
1、首先,启动终端,并切换到root用户2、输入命令yum install wine,安装依赖库和wine3、 下载QQ2016,选择使用wine打开,随后会安装,如果安装后桌面上没有图标,找到wine安装的文件夹,手动启动QQ.exe4、没有办法输入帐号或者登录后在聊天窗口无法输入和看到聊天消息,打开wine config,在应用程序中添加QQ.EXE,windows版本选择wind
2016-11-19 18:47:42
8700
原创 第四篇--关于device
1、device里面,如果存在类似于cm.dependencies这样的文件,里面是编译需要的依赖文件,编译前需要将这些文件下载到对应位置2、如果device里面存在后缀为.sh的文件,一般是用来提取vendor的脚本,如果没有找到可用的vendor可以使用这个脚本提取,需要连接手机且adb可以正常使用
2016-11-17 09:43:45
3692
原创 第三篇--编译CM系统
1、在正式编译系统前,我们还需要几份代码才能编译出可以刷入我们实体机的ROM,分别是设备的device、kernel和vendor,其中device和kernel是必要的,vendor如果有的话最好,没有的话可以从手机中提取,当然,提取的文件需要依靠device,这些文件可以在github网站中搜索得到,各位可能还需要学习一下有关github的使用,还有,各位需要知道自己机型对应的设备代号,例如X
2016-11-17 09:43:01
2464
原创 第二篇--下载Android源码
1、输入命令mkdir ~/androidcd ~/android2、开始同步代码repo init -u git://github.com/CyanogenMod/android.git -b cm-12.13、输入以下命令,就会开始同步repo sync -j# (#号代表你的核心数,越大下载速度有可能加快,前提是你的网速和硬盘跟得上)同步代码需要很长时间,根据你的
2016-11-17 09:42:25
339
原创 第一篇--安装编译环境
0、首先,很重要的一点,由于GFW的存在,无论是安装编译环境还是同步源码,都需要翻墙或者爬梯子。最简单的方法当然是改hosts文件,可以百度googlehosts,就可以找到教程。以下内容需要输入命令的都要在终端操作1、如果你之前就已经安装了Ubuntu且安装过jdk,那么请先运行一下命令删除错误的jdk或者open-jdk,前提是你确定自己安装的jdk是错误的。sudoapt-g
2016-11-17 09:40:38
463
原创 第零篇--安装Ubuntu系统
1、硬件要求:CPU至少i3,双核,内存至少4G,硬盘至少100G2、安装方法:本人使用的是U盘安装15.04版本。找一个2G以上的U盘,下载好刻录软件,后边将系统下载好后,直接刻录3、http://www.ubuntu.com/download/desktop Ubuntu官方下载网址,一定要下载x64版本的系统,否则无法进行编译,如果使用U盘安装的,一定要选择1X.04的版本,使用1
2016-11-17 09:35:41
279
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人