1.nginx安装
1.1下载安装包
wget http://nginx.org/download/nginx-1.19.0.tar.gz
1.2解压安装包
tar -xvf nginx-1.19.0.tar.gz
1.3Nginx安装
安装说明: 位于/usr/local/src/nginx是源文件目录.不负责真实的运行!!! 该文件通 过编译与安装,动态生成可执行的nginx文件.需要注意可执行文件的位置. 可执行文件的位置与源文件的位置不一样!!!.
- 编译nginx服务器
- make
- make install
1). ./configure
2).执行结果
通过上述的命令,在linux中的/usr/local/nginx中生成nginx的可执行目录.
3).执行make和make install命令
说明:在nginx的源文件目录下执行
make
make install
whereis nginx
1.4Nginx命令
命令:
1. 启动nginx ./nginx
2. 重启nginx ./nginx -s reload
3. 关闭nginx ./nginx -s stop
1.5Nginx启动测试
1.6 winscp软件
WinSCP 是一个 Windows 环境下使用的 SSH 的开源图形化 SFTP 客户端。同时支持 SCP 协议。它的主要功能是在本地与远程计算机间安全地复制文件,并且可以直接编辑文件。
这是一个简体中文版本的介绍,这里的链接大多数是英文的页面,您可以使用Google来进行翻译。
通过客户端登陆
1.7 利用winscp软件修改nginx 配置文件
1).配置反向代理
#实现图片代理
server {
listen 80;
server_name image.jt.com;
location / {
root /usr/local/src/images;
}
}
#实现域名的代理
server {
listen 80;
server_name manage.jt.com;
location / {
proxy_pass http://tomcats;
}
}
#搭建Linux版本集群
upstream tomcats {
server 192.168.126.129:8081;
server 192.168.126.129:8082;
server 192.168.126.129:8083;
}
说明:将配置准备好之后,将文件上传到Linux 系统中.
2).重启nginx服务器
1.8 准备3台tomcat服务器
说明:分别修改8081/8082/8083端口号,之后依次打包部署到Linux服务器中.
1.9 启动3台tomcat服务器
java -jar 8081.war & java -jar 8082.war & java -jar 8083.war &
通过命令,检查tomcat服务器启动是否正常.
1.10 修改hosts文件
说明:修改hosts文件,模拟全球的DNS域名解析服务器.
#配置Linux环境下的服务
192.168.126.129 image.jt.com
192.168.126.129 manage.jt.com
# 京淘电商环境
#127.0.0.1 image.jt.com
#127.0.0.1 manage.jt.com
127.0.0.1 www.jt.com
127.0.0.1 sso.jt.com
1.11 nginx项目测试
1.12 tomcat服务器后台启动配置
说明: 通过命令 java -jar 8081.war & 启动tomcat服务器, 当前链接终端断开之后,tomcat会关闭.’
原因说明: java -jar的方式会占用当前的终端,同时当终端关闭之后, 所有的tomcat服务器也会停止.
要求: tomcat服务器可以通过后台启动.
命令:
nohup java -jar 8081.war -> 8081.log & nohup java -jar 8082.war -> 8082.log & nohup java -jar 8083.war -> 8083.log &
2.数据库高可用实现
2.1什么是高可用(HA)
说明: 当服务出现了问题,利用高可用的机制,可以自动的实现故障的迁移.从而不影响用户的使用.
2.2数据库高可用实现的策略
利用数据库代理的思想,实现数据库分库分表.
2.3 数据库从库配置
2.3.1 设计思路
说明: 准备2台数据库, 一台主库/一台从库
IP划分:
192.168.126.129 主库
192.168.126.130 从库
2.3.2克隆虚拟机
准备全新的虚拟机,准备2个Linux操作系统
2.3.2修改虚拟机IP地址
1).通过xshell工具动态链接第二台linux服务器.
2).编辑IP配置文件
配置文件路径: cd /etc/sysconfig/network-scripts/
修改IP配置文件;
3). 重置网卡IP地址
命令:
1.service network restart
2.systemctl restart NetworkManager
4).校验网卡地址是否有效
2.3.3安装从数据库
1).安装mariadb数据库 yum install mariadb-server
2). 启动mariadb数据库
systemctl start mariadb
3).配置数据库
mysql_secure_installation
4).配置数据库权限
查看当前数据库用户信息.
修改用户信息:
MariaDB [mysql]> update user set host = "%" where host = "localhost";
5).刷新数据库权限
MariaDB [mysql]> flush privileges;
6).关闭防火墙
6.1关闭防火墙配置 systemctl disable firewalld.service
6.2 关闭防火墙 systemctl stop firewalld.service
7).数据库远程链接
2.4 实现数据库数据平衡
2.4.1 业务说明
说明: 主库中有jtdb的数据库信息.,但是由于长时间的编辑导致数据发生变化.为了实现数据库的主从的同步,必须保证配置之前数据库中的记录一致.
2.4.2 检查主数据库是否正常
启动主数据库
通过数据库工具进行链接
2.4.3 实现数据库导入/导出功能
步骤:
1.将主库信息导出.
导出主库记录:
2.在从库中导入主库信息,至此实现了数据库的平衡.
3.导出导入后的效果
2.5 数据库主从复制
2.5.1 什么是主从复制
说明:由于业务需要,需要保证数据库中的信息不丢失.所以必须实现数据库的数据备份.
备份方式:
1). 数据库冷备份
定期将数据库的信息进行导出操作. 防止数据库发生意外导出数据丢失.
缺点: 由于是定期备份.所以可能导致数据库记录丢失.(数据就是金钱)
2).数据库热备份
概念:准备2台或者多台数据库,实现了数据的实时备份.
2.5.2 数据库热备份的原理
组件说明:
1.二进制文件: 记录主库做"更新"操作的所有的记录.
2.I/OThread: 当主库中二进制文件信息更新时,会读取该文件,之后将数据写入中继日志中.
3.中继日志: 用来临时存储主库的更新数据的信息.
4.sqlThread: 循环的读取中继日志中的记录.将该记录信息写入从数据库中,最终实现了数据库主库和从库的数据的同步.
2.6.实现主从的配置
2.6.1 开启主库二进制日志文件
说明:数据库中默认条件下,二进制文件都是关闭的,需要手动的开启
编辑配置文件: vim /etc/my.cnf
2修改配置文件
3.重启mysql数据库
因为修改了mysql的核心配置文件,所以需要重启数据库.校验二进制文件是否存在.
2.6.2 开启从库的二进制文件
具体步骤参见上述操作.
命令: vim /etc/my.cnf
重启从库,检查二进制文件的位置是否正确.
2.7实现数据库主从配置
说明: 在从库进行命令的操作,实现主从的挂载.
2.7.1 检查主库的状态信息.
命令: show master status;
文件说明: mysql-bin 代表了二进制文件信息.
position 245 二进制文件的位置信息.
2.7.2 编辑从库实现主从挂载
/*130 我是数据库的从,需要指定主机进行挂载*/
/*主机host/port/用户名/密码/二进制文件/位置
问:自己挂载自己打一部电影 类型:惊悚/恶心类型 XXXX蜈蚣
*/
CHANGE MASTER TO MASTER_HOST="192.168.126.129",
MASTER_PORT=3306,
MASTER_USER="root",
MASTER_PASSWORD="root",
MASTER_LOG_FILE="mysql-bin.000001",
MASTER_LOG_POS=245;
/*2:开启主从服务*/
START SLAVE;
/*3.检查主从的状态*/
SHOW SLAVE STATUS;
/*4.如果没有出现2个yes 则执行下列操作
停止主从服务 之后 检查IO日志信息,之后重新挂载
*/
STOP SLAVE; //之后重新执行1-3步
检查状态: 如果出现2个yes,则表示主从搭建一切正常.
注意事项: 只能由主库向从库实现数据的同步!!!. 切记暂时不要修改从库数据!!!
3.MyCat学习
3.1 Mycat介绍
3.1 Mycat实现数据库读写分离
3.1.1上传Mycat安装包
3.1.2解压Mycat
tar -xvf Mycat-server-1.7.0-DEV-20170416134921-linux.tar.gz
3.1.3 server.xml配置文件说明
说明:server.xml的配置文件主要负责客户端与Mycat数据库代理之间的配置,包括用户名/密码/端口号等信息.
配置说明:
1.<property name="serverPort">8066</property>
8066是数据库代理的端口号信息.
2.配置用户信息
<!--用户标签-->
<user name="root">
<property name="password">root</property>
<!--与schema.xml中的配置相同 注意数据库的大小写-->
<property name="schemas">jtdb</property>
</user>
<user name="user">
<property name="password">user</property>
<property name="schemas">jtdb</property>
<property name="readOnly">true</property>
</user>
3.1.4 编辑schema.xml配置文件
说明:写操作主要操作的是129数据库. 读操作 可以读取129/130. 注意用户名和密码.
<writeHost host="hostM1" url="192.168.126.129:3306" user="root" password="root">
<!--读数据库1-->
<readHost host="hostS1" url="192.168.126.130:3306" user="root" password="root" />
<!--读数据库2-->
<readHost host="hostS2" url="192.168.126.129:3306" user="root" password="root" />
</writeHost>
3.1.5上传配置文件
说明:将mycat中的conf文件目录下的旧文件删除.之后上传新的文件信息.
[root@bogon conf]# rm -f schema.xml server.xml
3.1.6Mycat启动测试
说明:找到mycat的bin目录之后执行相关命令
命令:
3.1.6数据读写分离测试
说明:修改数据库链接地址,指向代理服务器即可.
spring:
datasource:
#引入druid数据源
#type: com.alibaba.druid.pool.DruidDataSource
driver-class-name: com.mysql.jdbc.Driver
url: jdbc:mysql://192.168.126.129:8066/jtdb?serverTimezone=GMT%2B8&useUnicode=true&characterEncoding=utf8&autoReconnect=true&allowMultiQueries=true
username: root
password: root
知识回顾:
1.安装Linux nginx实现反向代理
2.了解tomcat服务器后台运行的命令
3.了解数据库同步的原理
4.实现什么是读写分离.
作业
1.实现数据库的主从的搭建
测试:修改主库的信息,,检查从库是否实现数据的同步. 微信小视频录一下
2. 启动mycat服务器.利用代理的方式测试读写的分离是否正常. 微信小视频录一下