自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 9. Nginx原理

master和workermaster是一个领导,它把任务分给它手下不同的worker,worker接到任务之后,来做具体的操作。worker的工作机制当客户端发送请求时,首先会进入master,master得到任务后,会向其下的worker发布,而woker则会通过争抢的方式得到任务,然后通过反向代理用tomcat完成具体操作。一个master多个worker的好处可以使用nginx -s reload热部署,也就是说不需要重新启动,就可以让修改完的配置生效,以上图为例,第一个wor

2020-11-30 12:42:00 130

原创 8. Nginx高可用配置解析

keepalived.conf/etc/keepalived/keepalived.conf# 全局配置global_defs { notification_email { acassen@firewall.loc failover@firewall.loc sysadmin@firewall.loc } notification_email_from Alexandre.Cassen@firewall.loc smtp_

2020-11-30 06:36:49 151

原创 7. Nginx实现高可用配置

简介假设主服务器挂掉之后,会自动切换到备份服务器,而备份服务器也可以将请求转发到不同的tomcat中去,这就是高可用的效果。主备服务器中需要用到一个软件,名字叫做keepalived,它相当于是一个路由,它里面会通过一个脚本来检测Nginx是否还活着,如果还活着,则进行访问,否则将切换到另一台备份服务器,在这个过程中,它需要对外展示一个虚拟IP,这个IP实际上是不存在的,但是我们需要通过这个IP来进行访问,首先主服务器要绑定这个IP,假设主服务器挂掉之后,keepalived会将虚拟IP绑定到备份

2020-11-30 06:10:20 187

原创 6. Nginx实现动静分离

简介把动态请求跟静态请求通过Nginx给分离出来,让不同的请求访问不同的内容,可以理解成使用Nginx处理静态页面,使用Tomcat处理动态页面。通过 location 指定不同的后缀名实现不同的请求转发。通过 expires 参数,可以设置浏览器缓存过期时间,减少与服务器之前的请求和流量。具体 Expires 定义:是给一个资源设定一个过期时间,也就是说无需去 服务端验证,直接通过浏览器自身确认是否过期即可,所以不会产生额外的流量。此种方法非常适合不经常变动的资源。(如果是经常发生变化的

2020-11-25 06:14:50 111

原创 5. Nginx实现负载均衡

实现效果浏览器地址栏输入地址 http://192.168.2.190/edu/a.html ,将请求平均分发到 8080 和 8081 端口中具体实现首先启动两台tomcat服务器,一台8080,一台8081在两台 tomcat 里的 webapps 目录中,创建 edu 文件夹,在 edu 文件夹中创建页面 a.html为nginx.conf添加负载均衡的配置upstream myserver{ server 192.168.2.190:8080; s

2020-11-24 20:09:43 122

原创 docker-compose

配置将docker-compose放到/usr/local/bin/目录下为docker-compose赋予权限chmod u+x /usr/local/bin/docker-compose在/usr/local/下创建docker文件夹mkdir docker进入docker文件夹,创建tomcat文件夹mkdir tomcat进入tomcat文件夹,创建docker-compose.yml,编写配置version: '3.1'services: # 服务名

2020-11-24 12:17:48 150

原创 4. Nginx配置反向代理

访问过程分析反向代理示例1实现效果打开浏览器,在浏览器地址栏输入地址 www.123.com ,跳转到 liunx 系统 tomcat 主页面中具体实现修改windows的hosts文件,位置在C:\Windows\System32\drivers\etc,添加域名和 ip 对应关系的配置# 前面是你要连接的ip地址,后面是你要访问的网址192.168.2.190 www.123.com在Nginx中进行请求转发的配置server_name 192.168.2.190;

2020-11-23 16:46:41 208

原创 3. Nginx常用命令和配置文件

常用命令以下命令都需要在/usr/local/nginx/sbin 目录下执行# 查看Nginx版本号./nginx -v# 启动./nginx# 停止nginx./nginx -s stop# 重新加载./nginx -s reload配置文件位置/usr/local/nginx/conf/nginx.confnginx文件由三部分组成全局块从配置文件开始到 events 块之间的内容,主要会设置一些影响 nginx 服务器整体运行的配置指令比如:worker

2020-11-22 05:56:10 130

原创 2. Nginx安装

安装pcre# 1) 下载安装包wget http://downloads.sourceforge.net/project/pcre/pcre/8.37/pcre-8.37.tar.gz# 2) 解压tar -xvf pcre-8.37.tar.gz# 3) 拷贝到其它目录cp -r pcre-8.37 /usr/local/# 4) 进入pcre-8.37目录,执行./configure# 5) 安装,如果报下面这个错误,需要先执行一下autoreconf -ivf,再执行m..

2020-11-21 16:09:39 189

原创 1. Nginx简介

Nginx概述Nginx (“engine x”) 是一个高性能的 HTTP 和反向代理服务器,特点是占用内存少,并发能力强,有报告表明Nginx最多支持50000个并发连接数。正向代理在大陆,如果要访问一个网址,假设是谷歌,是无法访问的,需要在客户端(浏览器)配置代理服务器,通过代理服务器来访问,这种代理服务就称为正向代理。Nginx 不仅可以做反向代理,实现负载均衡。还能用作正向代理来进行上网等功能。反向代理我们只需要将请求发送到反向代理服务器,由反向代理服务器去选择目标服务器获

2020-11-21 06:22:36 165

原创 19. Mycat全局序列

简介无论分多少个节点,id不可能重复,这就是全局序列三种方式本地文件在Mycat建一个文件,专门存second序列,假设初始值为1,每当有insert语句执行时,使其+1,无论分到哪个数据节点都不会重复。Mycat部署的服务器,一旦宕机,这个文件就无法读取,即使有备机,也无法使用,抗风险能力较差,不推荐。数据库方式利用数据库一个表来进行计数累加,但是并不是每次生成序列都读写数据库,这样效率太低,Mycat会预加载一部分号段到Mycat的内存中,这样大部分读写序列都是在内存中完成的。如

2020-11-20 12:36:42 171

原创 18. Mycat分表

基础分表修改schema.xml,先分订单表<table name="orders" dataNode="dn1,dn2" rule="mod_rule" ></table>2. 修改rule.xml,指定规则<mycat:rule xmlns:mycat="http://io.mycat/"> <tableRule name="mod_rule"> <rule>

2020-11-20 05:37:02 243

原创 17. Mycat分库

分库原则拆成两个库的数据表,一定不能有关联查询需要两个空的库,用Mycat做分库的操作测试修改配置文件schema.xml<?xml version="1.0"?><!DOCTYPE mycat:schema SYSTEM "schema.dtd"><mycat:schema xmlns:mycat="http://io.mycat/"> <!--逻辑库 name名称, checkSQLschema

2020-11-18 22:07:23 187

原创 16. Mycat简介安装、读写分离

Mycat简介Mycat是一个数据库中间件,前身是阿里的cobar。Mycat功能读写分离从机可以单独做写操作,可以删除库表,因为从机有root用户,root用户有写权限,所以可以,如果要让从机不能写,只需要赋予用户读的权限即可。如果要用Java做读写分离,则需要配置两个数据源。配完数据源之后,当要执行与数据库相关的操作时,还需要做判断,如果是要做C、U、D这些写操作,则需要发给主机的数据库,如果是R这种读操作,则需要发给从机的数据库。一旦主机挂了、或者做切换的时候换别的机器了,则需要更改

2020-11-17 21:57:19 138

原创 15. MySQL主从复制

基本原理slave会从master读取binlog来进行数据同步master将改变记录到二进制日志(binary log)。这些记录过程叫做二进制日志事件,binary log eventsslave将master的binary log events拷贝到它的中继日志(relay log)slave重做中继日志中的事件,将改变应用到自己的数据库中。 MySQL复制是异步的且串行化的基本原则每个slave只有一个master每个slave只能有一个唯一的服务器ID每个master可以有

2020-11-14 06:32:34 90 1

原创 14. 查询截取分析

慢查询日志MySQL的慢查询日志是MySQL提供的一种日志记录,它用来记录在MySQL中响应时间超过阀值的语句,具体指运行时间超过long_query_time值的SQL。long_query_time的默认值为10,意思是运行10秒以上的语句。使用默认情况下slow_query_log的值为OFF,表示慢查询日志是禁用的,可以通过设置slow_query_log的值来开启SHOW VARIABLES LIKE '%slow_query_log%';使用set global slow_q

2020-11-11 22:37:17 94

原创 13. SQL回顾的优化

# 1.列出自己的掌门比自己年龄小的人# 优化后,不需要建索引了select e.`name`,e.age,e1.`name`,e1.age from emp eleft join dept d on e.deptId = d.idleft join emp e1 on d.CEO=e1.idwhere e1.age<e.age;# 2.列出所有年龄低于自己门派平均年龄的人# 优化后select ed.deptName,e.`name`,age,ed.avgAge from emp

2020-11-10 06:10:25 100

原创 12. 排序、分组优化

1. 案例# 创建索引create index idx_age_deptid_name on emp (age,deptid,name)# 1. 无过滤,不索引# 单纯的添加索引无法解决using filesort,要想使索引生效,必须要添加过滤条件,哪怕是分页explain select SQL_NO_CACHE * from emp order by age,deptid; explain select SQL_NO_CACHE * from emp order by age,dep

2020-11-06 22:27:10 146

原创 11. 关联、子查询索引优化

关联查询优化1. 建表SQL# 关联查询优化CREATE TABLE IF NOT EXISTS `class` (`id` INT(10) UNSIGNED NOT NULL AUTO_INCREMENT,`card` INT(10) UNSIGNED NOT NULL,PRIMARY KEY (`id`));CREATE TABLE IF NOT EXISTS `book` (`bookid` INT(10) UNSIGNED NOT NULL AUTO_INCREMENT,`car

2020-11-04 06:31:00 209

原创 10. MySQL单表索引优化

1. 全值匹配我最爱where后面有多少个筛选字段就建多少个索引2. 最佳左前缀法则从索引的第一个字段开始,从左到右,依次命中,不能跳过索引中的任何一列,一旦跳过某个字段,会导致后面的字段都无法使用以下面这个为例,虽然可以正常使用,但是只有部分被用到了这个就是完全没用上索引3. 不在索引列上做任何操作为索引字段添加函数、运算、(字段or手动)类型转换都会导致索引失效案例一、案例二、4. 范围字段放最后如果范围查询的字段右边还有其它字段则会导致索引失效以下面

2020-11-02 22:48:48 219

原创 9. MySQL批量操作数据

1. 建表 CREATE TABLE `dept` ( `id` INT(11) NOT NULL AUTO_INCREMENT, `deptName` VARCHAR(30) DEFAULT NULL, `address` VARCHAR(40) DEFAULT NULL, ceo INT NULL , PRIMARY KEY (`id`)) ENGINE=INNODB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8; CREATE TABLE `emp`

2020-11-01 12:04:49 118

空空如也

空空如也

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

TA关注的人

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