自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 tomcat 单机多实例

Tomcat的目录结构:bin–包含所有运行tomcat的二进制和脚本文件lib–包含tomcat使用的所有共享库conf-包含配置信息,如tomcat绑定的端口等server.xml:配置整个服务器信息。例如修改端口号,添加虚拟主机等; tomcatusers.xml:存储tomcat用户的文件,这里保存的是tomcat的用户名及密码,以及用户的角色信息。可以按着该文件中的注释信息添加tomcat用户,然后就可以在Tomcat主页中进入Tomcat Manager页面了; ...

2020-06-01 19:57:11 160

原创 apache优化相关

Apache所运行的硬件环境都是对性能影响最大的因素,即使不能对硬件进行升级,也最好给Apache一个单独的主机以免受到其他应用的干扰。各个硬件指标中,对性能影响最大的是内存,对于静态内容(图片、JavaScript文件、css文件等)它决定了Apache可以缓存多少内容,它缓存的内容越多,在硬盘上读取内容的机会就会越少,大内存可以极大提高静态站点的速度; 对动态高负载站点来说,每个请求保存的时间更多一些,Apache的mpm模块会为每个请求派生出相应的进程或线程分别处理,而进程或线程的数量与内存的消耗近

2020-06-01 19:56:32 181

原创 keepalived 不抢占模式

HA的实际运行过程中,当主机发生异常,且后期恢复正常后,存在抢占或非抢占两种情况。结合实际需求,可能有很多用户需要非抢占的HA工作模式。keepalived能够很好的支持这一需求。下面直接展示keepalived的非抢占配置。主机配置如下:vrrp_instance VI_1{state BACKUPnopreemptpriority 100advert_int 1virtual_router_id 1interface eth0authentication  {

2020-06-01 19:55:42 549 1

原创 keepalived原理

Keepalived是什么?keepalived是集群管理中保证集群高可用的一个服务软件,其功能类似于heartbeat,用来防止单点故障。Keepalived工作原理:keepalived是以VRRP协议为实现基础的,VRRP全称Virtual Router Redundancy Protocol,即虚拟路由冗余协议。虚拟路由冗余协议:可以认为是实现路由器高可用的协议,即将N台提供相同功能的路由器组成一个路由器组,这个组里面有一个master和多个backup,master上面有一个对外提

2020-06-01 19:54:05 125

原创 秒杀架构的大致优化方向以及注意事项

1、将请求尽量拦截在系统上游(不要让锁冲突落到数据库上去)。传统秒杀系统之所以挂,请求都压倒了后端数据层,数据读写锁冲突严重,并发高响应慢,几乎所有请求都超时,流量虽大,下单成功的有效流量甚小。以12306为例,一趟火车其实只有2000张票,200w个人来买,基本没有人能买成功,请求有效率为0。2、充分利用缓存,秒杀买票,这是一个典型的读多些少的应用场景,大部分请求是车次查询,票查询,下单和支付才是写请求。一趟火车其实只有2000张票,200w个人来买,最多2000个人下单成功,其他人都是查询库存,写比

2020-05-29 14:18:10 103

原创 ps 命令的使用

Ps命令是Linux中最常使用的进程查看工具,主要用于显示包含当前运行的各进程完整信息的静态快照(查看静态的进程统计信息)。通过不同的命令选项可以有选择性的查看进程信息。a:显示当前终端下的所有进行信息,包括其他用户的进程。与x选项结合时将显示系统中所有的进程信息。u:使用以用户为主的格式输出进程信息。x:显示当前用户在所有终端下的进程信息。-e:显示系统内的所有进程信息。-l:使用长格式显示进程信息。-f:使用完整的格式显示进程信息。# ps aux解释:USER:

2020-05-27 21:35:24 145

原创 awk 命令的使用

awk是一种编程语言,用于在linux/unix下对文本和数据进行处理。数据可以来自标准输入(stdin)、一个或多个文件,或其它命令的输出。它支持用户自定义函数和动态正则表达式等先进功能,是linux/unix下的一个强大编程工具。它在命令行中使用,但更多是作为脚本来使用。Awk作为一个强大的文本分析工具,相对于grep的查找,sed的编辑,awk在其对数据分析并生成报告时,显得尤为强大。简单来说awk就是把文件逐行的读入,以空格为默认分隔符将每行切片,切开的部分再进行各种分析处理。格式语法:#

2020-05-27 21:34:54 302

原创 sed 命令的使用

sed是一个“非交互式的”面向字符流的编辑器。能同时处理多个文件多行的内容,可以不对原文件改动,把整个文件输入到屏幕,可以把只匹配到模式的内容输入到屏幕上。还可以对原文件改动,但是不会再屏幕上返回结果。命令格式:# sed [options] ‘sed command’ filename(s)# sed [options] -f ‘sed scriptfile’ filename(s)参数:文件指定待处理的文本文件列表。sed命令的选项(option):-n :只打印模...

2020-05-27 21:34:13 371

原创 while 循环语句的使用

For循环语句非常适用于列表对象无规律,且列表来源已固定(如某个列表文件)的场合。而对于要求控制循环次数、操作对象按数字顺序编号、按特定条件执行重复操作等情况,则更适合适用while循环语句。While语句的结构使用while循环语句时,可以根据特定的条件反复执行一个命令序列,直到该条件不再满足时为止。在脚本应用中,应该避免出现死循环的情况,否则后边的命令操作将无法执行。因此循环体内的命令序列中应该包含修改测试条件的语句。以便在适当的时候使测试条件不再成立,从而结束循环。while 条件测...

2020-05-27 21:32:55 5547

原创 sort 命令的使用

sort将文件的每一行作为一个单位,相互比较,比较原则是从首字符向后,依次按ASCII码值进行比较,最后将他们按升序输出。常用选项:-t : tables 指定分隔符,默认tab为分隔符-k: 指定安装哪一个分割区域进行排序-o:output 将排序结果输出到源文件-r : reverse 反向排序-u : unique 唯一,排序并且排除重复项-n : number 安照数字进行排序-f:会将小写字母都转换为大写字母来进行比较,亦即忽略大小写-c:会检查文件是否已排好序,.

2020-05-27 21:32:20 559

原创 for 循环语句的使用

在实际工作环境中,经常会遇到某项任务需要多次执行的情况,而每次执行时仅仅是处理的对象不一样,其他命令完全相同。如:根据服务器清单检查各个主机的存活状态;根据ip地址黑名单设置拒绝访问的防火墙策略等。这样繁琐的重复任务时,if语句已经不能满足需求。则我们需要for循环语句。For语句的结构使用for循环时,需要指定一个变量及可能的取值列表,针对每一个不同的取值重复执行相同的命令序列,直到变量值用完退出循环。在这里,“取值列表”称为for语句的执行条件,其中包括多个属性相同的对象,需要预先指定(如上

2020-05-27 21:31:39 309

原创 if条件语句的使用

if 语句的结构在Sell脚本应用中,if语句是最为常用的一种流程控制方式.用来根据特定的条件测试结果分别执行不同的操作-如果......根据不同的复杂程度,if 语句的选择结构可以分为三种基本类型,适用于不同的应用场合:单分支的if语句if语句的“分支”指的是不同测试结果所对应的执行语句(一条或多条). 对于单分支的选择结构,只有在“条件成立”时才会执行相应的代码,否则不执行任何操作。单分支的if语句的语法格式如下:if 条件测试操作then 命令序列 fi在上述语...

2020-05-26 15:45:10 1214

原创 find 命令的使用

Find命令主要是用来在相应的目录下查找符合给定条件的文件。# find [查找起始路径] [查找条件] [处理动作]find支持文件名的正则表达式查找,按文件修改时间查找,按文件大小查找,按文件权限查找,按文件类型查找等,查找到以后还支持直接对查找到的文件使用命令,功能非常强大Find命令选项参数使用:Name选项(iname是不区分大小写):文件名选项是find命令最常用的选项,要么单独使用该选项,要么和其他选项一起使用。 可以使用某种文件名模式来匹配文件,记住要用引号将文件...

2020-05-26 15:44:30 609

原创 cut 命令的使用

该命令有两项功能,其一是用来显示文件的内容,它依次读取由参数file所指明的文件,将它们的内容输出到标准输出上;其二是连接两个或多个文件,如cut fl f2 > f3将把文件fl和f2的内容合并起来,然后通过输出重定向符“>”的作用,将它们放入文件f3中。当文件较大时,文本在屏幕上迅速闪过(滚屏),用户往往看不清所显示的内容。因此,一般用more等命令分屏显示。  为了控制滚屏,可以按Ctrl+S键,停止滚屏;按Ctrl+Q键可以恢复滚屏。按Ctrl+C(中断键可以终止该命令的执行,并

2020-05-26 15:43:45 569

原创 case 分支语句的使用

Case语句主要适用于:某个变量存在多种取值,需要对其中的每一种取值分别执行不同的命令序列。这种情况和多分支if语句非常相似。只不过if要判断多个不同的条件而case语句只判断一个变量的不同取值。Case语句的结构case 变量值 in模式1) 命令序列1 ;;模式2) 命令序列2 ;;。。。。。。。。。。。。。*) 默认命令序列esac在上述结构中,关键字case后面跟的是“变量值”,即“$变量名”,这点需要与for循环语句的机构...

2020-05-26 15:43:12 1313

原创 read 命令的使用

我们可以bash的内置命令read命令来给变量赋值。Read命令用来提示用户输入信息,从而实现简单的交互过程。执行时将从标准输入设备(键盘)读入一行内容,并以空格为分隔符,将读入的各字段挨个赋值给指定的变量(多余的内容赋值给最后一个变量)。若指定的变量只有一个,则正行内容赋值给此变量。也即read命令接收标准输入(键盘)的输入,或其他文件描述符的输入。得到输入后,read命令将数据放入一个标准变量中。# read qq——read 后面跟的为变量/usr/local/src/qq# echo

2020-05-26 15:42:29 1182

原创 echo 命令的使用

echo命令用于在shell中打印shell变量的值,或者直接输出指定的字符串。linux的echo命令,在shell编程中极为常用, 在终端下打印变量value的时候也是常常用到的,因此有必要了解下echo的用法.echo命令的功能是在显示器上显示一段文字,一般起到一个提示的作用。# echo "the echo commane good"Echo –n 表示不换行输出上图可以看到,如果不添加-n选项,文本输出以后,默认指定换行了,而添加了-n选项之后文本直接连着命令提示符输出了,并没

2020-05-26 15:41:54 638

原创 shell 脚本的简单介绍

Linux中的shell脚本是一个特殊的应用程序,它介于操作系统和系统内核之间,充当一个命令解释器的角色。负责接收用户输入的操作指令并进行解释,将需要执行的操作传递给内核执行,并输出执行结果。常见的shell解释器程序有很多种,使用不同的shell脚本时,其内部指令、命令行提示等方面会存在一些区别。通过/etc/shells文件可以了解当前系统所支持的shell脚本种类。如上图所示,/bin/bash是目前大多数Linux系统版本默认采用的shell脚本。Bash是非常受欢迎的开源项目之一。

2020-05-26 15:41:10 121

原创 MySQL主从复制的操作

部署环境:系统环境CentOS release 6.5_x64主mysql服务器ip:172.18.49.10从mysql服务器ip:172.18.49.2开始部署安装:Mysql服务器都已经搭建完成。主mysql上:# cp /etc/my.cnf /etc/my.cnf.bak# vi /etc/my.cnflog_bin=mysql-bin //开启二进制日志server_id=1...

2020-05-26 15:40:13 208

原创 MySQL主从复制和读写分离的原理

Mysql主从复制和读写分离在实际的生产环境中,如果对mysql数据库的读和写都在一台数据库服务器中操作,无论是在安全性、高可用性,还是高并发等各个方面都是不能满足实际需求的。因此,一般通过主从复制的方式来同步数据,再通过读写分离来提升数据库的并发负载能力。 Mysql主从复制和读写分离主从复制:Mysql的主从复制和mysql的读写分离两者有紧密的联系,首先要部署主从复制,只有主从复制完成了,才能再此基础上进行数据的读写分...

2020-05-26 15:39:10 191

原创 MySQL增删改查简单的sql语句

关于数据库的一些操作:进入mysql 命令行: mysql -uroot –p查看所有数据库: show databases;创建数据库: create database wg charset utf8;删除数据库: drop database wg;选择数据库: use databases;查看所有表: show tables;查看创建数据库的语句:show create database databasename;查看创建表的语句:show create table ta

2020-05-26 15:37:45 143

原创 MySQL新建用户操作

方法一:mysql> insert into mysql.user(Host,User,Password) values("localhost","zhangs",password("123456"));mysql> flush privileges;解释:这样就创建了一个用户名为zhangs,密码为123456的数据库用户;此处的"localhost",是指该用户只能在本地登录,不能在另外一台机器上远程登录。如果想远程登录的话,将"localhost"改为"%",表示在任何一台电.

2020-05-25 21:01:10 174

原创 MySQL数据库的安全配置

Mysql5.7以下默认root登录密码为空,安装完成之后首先需要修改root的登录密码。# mysqladm –uroot password ‘new_password’或者登录mysql后修改mysql> use mysql;mysql> update user set password=PASSWORD('mysql') where user='root';mysql> flush privileges;修改旧密码:# mysqladmin -uroo..

2020-05-25 20:59:22 181

原创 MySQL慢查询日志

MySQL 慢查询日志是排查问题 SQL 语句,以及检查当前 MySQL 性能的一个重要功能。MySQL的慢查询日志是MySQL提供的一种日志记录,它用来记录在MySQL中响应时间超过阀值的语句,具体指运行时间超过long_query_time值的SQL,则会被记录到慢查询日志中。long_query_time的默认值为10,意思是运行10S以上的语句。默认情况下,Mysql数据库并不启动慢查询日志,需要我们手动来设置这个参数,当然,如果不是调优需要的话,一般不建议启动该参数,因为开启慢查询日志会或多.

2020-05-25 20:58:33 60

原创 MySQL分析、检查、优化表

分析表对表进行分析(分析关键字的分布, 分析存储MyISAM等表中键的分布)MySQL中使用ANALYZE TABLE语句来分析表,该语句的基本语法如下:mysql>ANALYZE TABLE 表名1 [,表名2…] ;使用ANALYZE TABLE分析表的过程中,数据库系统会对表加一个只读锁。在分析期间,只能读取表中的记录,不能更新和插入记录。ANALYZE TABLE语句能够分析InnoDB和MyISAM类型的表。Table:表示表的名称;Op:表示执行的操作。ana..

2020-05-25 20:57:24 101

原创 MySQL的优化

MySQL优化三大方向优化MySQL所在服务器内核。 对MySQL配置参数进行优化(my.cnf)此优化需要进行压力测试来进行参数调整。 对SQL语句以及表优化。服务器内核方面优化:网络参数配置 网络参数配置需要修改配置文件/etc/sysctl.conf,可以在配置文件后面添加一下内容: net.core.somaxconn=65536 #每个监听端口允许的最大的监听队列长度,这个值应该适当增大。 net.core.netdev_max_backlog=65536 ...

2020-05-25 20:56:37 107

原创 MySQL数据库常用存储引擎

数据库存储引擎:是数据库底层软件组织,数据库管理系统(DBMS)使用数据引擎进行创建、查询、更新和删除数据。不同的存储引擎提供不同的存储机制、索引技巧、锁定水平等功能,使用不同的存储引擎,还可以获得特定的功能。现在许多不同的数据库管理系统都支持多种不同的数据引擎。MySQL的核心就是插件式存储引擎。查看存储引擎:mysql> show engines;MySQL给用户提供了许多不同的存储引擎。在MySQL中,不需要在整个服务器中使用同一种存储引擎,针对具体的要求,可以对每一个表使用不同

2020-05-25 20:56:00 89

原创 系统服务

什么是系统服务?系统服务(system services)是指执行指定系统功能的程序、例程或进程,以便支持其他程序,尤其是底层(接近硬件)程序。通过网络提供服务时,服务可以在Active Directory(Windows活动目录)中发布,从而促进了以服务为中心的管理和使用。系统服务一般在后台运行,与用户运行的程序相比,服务不会出现程序窗口或对话框,只有在任务管理器(Linux中使用top命令查看)中才能观察到它们的身影。服务是系统用以执行指定系统功能的程序或进程,其功用是支持其他应用程序,一般在后

2020-05-25 20:54:40 235

原创 telnet 服务详解

telnet协议是TCP/IP协议族中的一员,是Internet远程登陆服务的标准协议和主要方式。它为用户提供了在本地计算机上完成远程主机工作的能力。在终端使用者的电脑上使用telnet程序,用它连接到服务器。终端使用者可以在telnet程序中输入命令,这些命令会在服务器上运行,就像直接在服务器的控制台上输入一样,可以在本地就能控制服务器。要开始一个telnet会话,必须输入用户名和密码来登录服务器,Telnet是常用的远程控制Web服务器的方法。使用Telnet协议进行远程登录时需要满足以下条件:

2020-05-25 20:53:57 504

原创 top 命令的使用

使用ps命令查看的是一个静态的进程信息,并不能连续地反馈出当前进程的运行状态。若希望以动态刷新的方式显示各个进程的状态信息,可以使用top命令。Top命令将会在当前终端以全屏交互的界面显示进程排名,及时跟踪包括CPU、内存等系统资源占用情况。默认情况下每三秒刷新一次。其类似于Windows中的任务管理器。解释:系统任务(tasks)信息:total:总进程数running:正在运行的进程数sleeping:休眠的进程数stopped:终止的进程数zombie:僵死无响应的进程

2020-05-25 20:52:53 339

原创 sar 命令的使用

sar(System ActivityReporter系统活动情况报告)是目前Linux上最为全面的系统性能分析工具之一,可以从多方面对系统的活动进行报告,包括:文件的读写情况、系统调用的使用情况、磁盘I/O、CPU效率、内存使用状况、进程活动及IPC有关的活动等,SAR命令可以动态产生报告,也可以把报告保存在日志文件中。sar命令有sysstat安装包安装。参数:-b:报告I/O使用情况以及传输速率。(只适用于2.5及之前的内核,所以新内核有可能不支持这个选项)-B:报告“页”使用情况..

2020-05-25 20:51:55 619

原创 lsof 命令的使用

lsof(list open files)是一个列出当前系统打开文件的工具。在linux环境下,任何事物都以文件的形式存在,通过文件不仅仅可以访问常规数据,还可以访问网络连接和硬件。所以如传输控制协议 (TCP) 和用户数据报协议 (UDP) 套接字等,系统在后台都为该应用程序分配了一个文件描述符,无论这个文件的本质如何,该文件描述符为应用程序与基础操作系统之间的交互提供了通用接口。因为应用程序打开文件的描述符列表提供了大量关于这个应用程序本身的信息,因此通过lsof工具能够查看这个列表对系统监测以及排错将

2020-05-23 11:45:22 784

原创 vmstat 命令的使用

vmstat命令是最常见的Linux/Unix监控工具,可以展现给定时间间隔的服务器的状态值,包括服务器的CPU使用率,内存使用,虚拟内存交换情况,IO读写情况。一般vmstat工具的使用是通过两个数字参数来完成的,第一个参数是采样的时间间隔数,单位是秒,第二个参数是采样的次数 # vmstat 2 1 如果想一直监控,不加1即可。上面内容解释:r表示运行队列(就是说多少个进程真的分配到CPU),我测试的服务器目前CPU比较空闲,没什么程序在跑,当这个值超过了...

2020-05-23 11:44:00 79

原创 ip 命令的使用

Ip命令用来显示或操纵Linux主机的路由、网络设备、策略路由和隧道。格式:# ip [options] OBJECT {COMMAND}对象:link:网络设备address:设备上的协议(IP或IPv6)地址addrlabel:协议地址选择的标签配置route:路由表条目rule:路由策略数据库中的规则参数:修改ip行为或者改变其输出的选项,所有的选项都是以-字符开头。-V :-Version打印ip的版本并退出-h: 人类可读输出-s: -st...

2020-05-23 11:41:47 588

原创 netstat 命令的使用

本命令用于打印网络连接、路由表、接口统计、伪装连接和多播成员关系等。参数说明:-a或--all 显示所有连线中的Socket。-A<网络类型>或--<网络类型> 列出该网络类型连线中的相关地址。-c或--continuous 持续列出网络状态。-C或--cache 显示路由器配置的快取信息。-e或--extend 显示网络其他相关信息。-F或--fib 显示FIB。-g或--groups 显示多重广播功能群组组员名单。-h或--help 在线帮助。

2020-05-23 11:41:10 108

原创 iostat 命令的使用

iostat主要用于监控系统设备的IO负载情况,iostat首次运行时显示自系统启动开始的各项统计信息,之后运行iostat将显示自上次运行该命令以后的统计信息。用户可以通过指定统计的次数和时间来获得所需的统计信息。参数:-c 仅显示CPU统计信息.与-d选项互斥.-d 仅显示磁盘统计信息.与-c选项互斥.-k 以K为单位显示每秒的磁盘请求数,默认单位块.-p device | ALL与-x选项互斥,用于显示块设备及系统分区的统计信息.也可以在-p后指定一个设备名,如:# iostat

2020-05-23 11:40:33 116

原创 mpstat 命令的使用

其是实时系统监控工具。其报告与CPU的一些统计信息,这些信息存放在/proc/stat文件中。在多CPU系统里,其不但能查看所有CPU的平均状况信息,而且能够查看特定CPU的信息。参数:[-P {|ALL}] 表示监控哪个cpu,cpu在[0,cpu个数-1]中取值internal 两次采样的间隔时间,该参数也可单独使用count采样次数事例:对以上的参数作出解释:%user 表示在间隔时间内用户进程所占cpu时间的百分比%nice 表示在间隔时间内nice值为负值的..

2020-05-23 11:39:42 198

原创 free 命令的使用

free 命令显示系统内存的使用情况,包括物理内存、交换内存(swap)和内核缓冲区内存。参数:-b/-k/-m: 以Byte/KB/MB为单位显示内存使用情况。-o: 不显示缓冲区调节列。-s: 持续观察内存使用状况-t 显示内存总和列解释一下输出的内容:Mem行(第二行)是内存的使用情况。Swap行(第三行)是交换空间的使用情况。total列显示系统总的可用物理内存和交换空间大小。used列显示已经被使用的物理内存和交换空间。free列显示还有多...

2020-05-23 11:39:05 405

原创 watch 命令的使用

在维护系统时经常需要实时查看系统的运行情况,比如实时的系统连接数之类的。在linux可以通过watch命令,实时监控每一条命令执行的结果动态变化。watch命令可以实时全屏监控当前命令执行的动态变化结果。watch命令的常用参数有“-n”、“-d”、“-t”分别表示“时隔多少秒刷新”、“高亮显示动态变化”、“关闭命令顶部的时间间隔,命令显示”格式:# watch 【参数】 【命令】功能:可以将命令的输出结果输出到标准输出设备,多用于周期性执行命令/定时执行命令参数:-n或--i.

2020-05-23 11:38:06 6163

原创 一些简单实用的沟通小技巧

生活中我们需要沟通的地方很多,但是大多数人都不会去和别人沟通,下面说一些与人沟通需要注意的一些小技巧1、在合适的地方说合适的话比如与陌生人见面的时候做的自我介绍,大多数成功的开场白并不是生硬的自我介绍,而是从细节出发,探知对方的习惯和喜好。2、要知道你是为了什么而沟通。为了能够提升自己的沟通能力,最好的方法就是围绕着沟通的初衷去进行交际。3、对不同的人采取不同的说话方式比如说你作为一个公司管理层,对待新入职的员工的态度跟对待老员工的态度必定是不一样的。4、沟通要有平等性这里的平等是指双方的沟

2020-05-23 11:33:13 120

空空如也

空空如也

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

TA关注的人

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