yum安装LNMP与数据库主从复制读取分离结合

实验:使用yum安装LNMP与数据库主从复制读取分离结合
1.安装配置mariadb服务和配置hosts文件
安装
yum安装LNMP与数据库主从复制读取分离结合
yum安装LNMP与数据库主从复制读取分离结合
yum安装LNMP与数据库主从复制读取分离结合

启动服务并设置开机自动启动
yum安装LNMP与数据库主从复制读取分离结合

yum安装LNMP与数据库主从复制读取分离结合

yum安装LNMP与数据库主从复制读取分离结合

创建mysql用户(mysql作用和使用和mariadb作用和使用基本一样mariadb更简单)
yum安装LNMP与数据库主从复制读取分离结合
yum安装LNMP与数据库主从复制读取分离结合
yum安装LNMP与数据库主从复制读取分离结合

配置hosts文件方便通信
yum安装LNMP与数据库主从复制读取分离结合

scp将hosts文件复制到其他服务器上
[[email protected] ~]# scp /etc/hosts [email protected]:/etc/hosts
[[email protected] ~]# scp /etc/hosts [email protected]:/etc/hosts
[[email protected] ~]# scp /etc/hosts [email protected]:/etc/hosts
yum安装LNMP与数据库主从复制读取分离结合

2.配置主从复制和读取分离
1)主从复制
修改主的配置文件并重启服务
[[email protected] ~]# vim /etc/my.cnf
log-bin=mysql-bin 开启二进制日志
server-id = 10 主mysql服务器的ID为10
log-slave-update = ture 开启日志复制功能
[[email protected] ~]# systemctl restart mariadb
yum安装LNMP与数据库主从复制读取分离结合
yum安装LNMP与数据库主从复制读取分离结合

从1
log-bin=mysql-bin 开启二进制功能
server-id = 20 从MySQL服务器的ID为20
relay-log=relay-log-bin 设置读取日志
relay-log-index=slave-relay-bin.index 从master复制日志
yum安装LNMP与数据库主从复制读取分离结合
yum安装LNMP与数据库主从复制读取分离结合
yum安装LNMP与数据库主从复制读取分离结合

从2
log-bin=mysql-bin 开启二进制功能
server-id = 30 从MySQL服务器的ID为30
relay-log=relay-log-bin 设置读取日志
relay-log-index=slave-relay-bin.index 从master复制日志

yum安装LNMP与数据库主从复制读取分离结合
yum安装LNMP与数据库主从复制读取分离结合
yum安装LNMP与数据库主从复制读取分离结合

查看日志文件
[[email protected] ~]# cd /var/lib/mysql

yum安装LNMP与数据库主从复制读取分离结合
yum安装LNMP与数据库主从复制读取分离结合
yum安装LNMP与数据库主从复制读取分离结合

配置主从复制查看mysql状态
MariaDB [(none)]> show master status;
yum安装LNMP与数据库主从复制读取分离结合

创建数据账户授权从服务器
MariaDB [(none)]> grant replication slave on . to ‘slave’@‘192.168.100.%’ identified by ‘[email protected]’;
yum安装LNMP与数据库主从复制读取分离结合

登录从mysql服务器设置数据同步
mariaDB [(none)]> change master to master_host=‘192.168.100.10’,master_user=‘slave’,master_password=‘[email protected]’,master_log_file=‘mysql-bin.000001’,master_log_pos=245;
yum安装LNMP与数据库主从复制读取分离结合
yum安装LNMP与数据库主从复制读取分离结合

启动节点
yum安装LNMP与数据库主从复制读取分离结合
yum安装LNMP与数据库主从复制读取分离结合

MariaDB [(none)]> show slave;
查看节点状态
MariaDB [(none)]> show slave status\G
yum安装LNMP与数据库主从复制读取分离结合

yum安装LNMP与数据库主从复制读取分离结合

验证主从复制
yum安装LNMP与数据库主从复制读取分离结合
yum安装LNMP与数据库主从复制读取分离结合
yum安装LNMP与数据库主从复制读取分离结合

2)配置读取分离
scp复制需要的压缩包
[[email protected] ~]# scp /mnt/jdk-6u14-linux-x64.bin [email protected]:/usr/src/
[[email protected] ~]# scp /mnt/amoeba-mysql-binary-2.2.0.tar.gz [email protected]:/usr/src/
yum安装LNMP与数据库主从复制读取分离结合

解压jdk压缩包中间 有个问题输入yes
[[email protected] src]# ./jdk-6u14-linux-x64.bin
yum安装LNMP与数据库主从复制读取分离结合

移动安装位置
[[email protected] src]# mv jdk1.6.0_14/* /usr/local/jdk
yum安装LNMP与数据库主从复制读取分离结合

安装amoeba
创建amoeba目录并授权
[[email protected] src]# mkdir /usr/local/amoeba
[[email protected] src]# chmod -R 755 /usr/local/amoeba
yum安装LNMP与数据库主从复制读取分离结合

解压amoeba
[[email protected] src]# tar zxvf amoeba-mysql-binary-2.2.0.tar.gz -C /usr/local/amoeba
yum安装LNMP与数据库主从复制读取分离结合

设置jdk环境变量
[[email protected] ~]# vim /etc/profile.d/jdk.sh
export JAVA_HOME=/usr/local/jdk
export CLASSPATH= C L A S S P A T H : CLASSPATH: CLASSPATH:JAVA_HOME/lib: J A V A H O M E / j r e / l i b e x p o r t P A T H = JAVA_HOME/jre/lib export PATH= JAVAHOME/jre/libexportPATH=JAVA_HOME/lib: J A V A H O M E / j r e / b i n / : JAVA_HOME/jre/bin/: JAVAHOME/jre/bin/:PATH: H O M E / b i n e x p o r t A M O E B A = / u s r / l o c a l / a m o e b a / e x p o r t P A T H = HOME/bin export AMOEBA=/usr/local/amoeba/ export PATH= HOME/binexportAMOEBA=/usr/local/amoeba/exportPATH=PATH:$AMOEBA/bin
yum安装LNMP与数据库主从复制读取分离结合

更新环境变量
[[email protected] ~]# source /etc/profile.d/jdk.sh
yum安装LNMP与数据库主从复制读取分离结合

[[email protected] ~]# java -version
yum安装LNMP与数据库主从复制读取分离结合

配置amoeba
yum安装LNMP与数据库主从复制读取分离结合

设置amoeba访问mysql账户(在主服务器上创建bob)
MariaDB [(none)]> grant all on . to ‘bob’@‘192.168.100.%’ identified by ‘[email protected]’;

修改amoeba登录账户密码,账户是amoeba密码是[email protected]
[[email protected] ~]# vim /usr/local/amoeba/conf/amoeba.xml
yum安装LNMP与数据库主从复制读取分离结合
yum安装LNMP与数据库主从复制读取分离结合
yum安装LNMP与数据库主从复制读取分离结合

30 amoeba 设置账户
32 [email protected] 设置密码

115 master 默认池为master
116 master 指定被写的服务器
117 slaves 指定被读的服务器 slaves有多个从服务器

3)修改amoeba配置文件添加服务器
yum安装LNMP与数据库主从复制读取分离结合
yum安装LNMP与数据库主从复制读取分离结合

[[email protected] ~]# vim /usr/local/amoeba/conf/dbServers.xml

26 bob 映射账户主服务器数据库中的bob
27 [email protected] 映射密码

42 在池中添加master
43
44 192.168.100.10 IP地址
45
46
47 添加第一台从服务器
48
49 192.168.100.20 IP地址
50
51
52 添加第二台从服务器
53
54 192.168.100.30 IP地址
55
56

58 添加组slaves
59
60 1
61 slave01,slave02包含的服务器salve01和slave02
62
63

启动服务
[[email protected] ~]# /usr/local/amoeba/bin/amoeba start&
yum安装LNMP与数据库主从复制读取分离结合

监听端口号8066
[[email protected] ~]# netstat -anptu | grep 8066
yum安装LNMP与数据库主从复制读取分离结合

验证读取分离
客户端安装mariadb访问amoeba服务器
yum安装LNMP与数据库主从复制读取分离结合

验证读取分离
切换数据库
MySQL [(none)]> use bob

yum安装LNMP与数据库主从复制读取分离结合

创建表student表
MySQL [bob]> create table student (name char(4), phone char(11), primary key (phone));
yum安装LNMP与数据库主从复制读取分离结合

创建bob
yum安装LNMP与数据库主从复制读取分离结合

查看
yum安装LNMP与数据库主从复制读取分离结合

关闭从服务器创建查看

yum安装LNMP与数据库主从复制读取分离结合
yum安装LNMP与数据库主从复制读取分离结合
yum安装LNMP与数据库主从复制读取分离结合

开启再次查看
yum安装LNMP与数据库主从复制读取分离结合
yum安装LNMP与数据库主从复制读取分离结合
yum安装LNMP与数据库主从复制读取分离结合

3.yum安装LNMP
[[email protected] yum.repos.d]# wget http://mirrors.163.com/.help/CentOS7-Base-163.repo
yum安装LNMP与数据库主从复制读取分离结合

安装epel-release
[[email protected] yum.repos.d]# yum -y install epel-release
yum安装LNMP与数据库主从复制读取分离结合

安装nginx
yum安装LNMP与数据库主从复制读取分离结合

[[email protected] yum.repos.d]# yum -y install nginx

启动服务设置开机自动启动
[[email protected] yum.repos.d]# systemctl start nginx
[[email protected] yum.repos.d]# systemctl enable nginx
yum安装LNMP与数据库主从复制读取分离结合

访问验证
[[email protected] yum.repos.d]# curl http://192.168.100.10
yum安装LNMP与数据库主从复制读取分离结合
**yum安装LNMP与数据库主从复制读取分离结合
**
默认网站位置
[[email protected] yum.repos.d]# cd /usr/share/nginx/html/
yum安装LNMP与数据库主从复制读取分离结合

修改网站主页为www.benet.com
yum安装LNMP与数据库主从复制读取分离结合

4.安装php
[[email protected] ~]# yum install -y php php-devel php-fpm php-mysql php-common php-devel php-gd libjpeg* php-imap php-ldap php-odbc php-pear php-xml php-xmlrpc php-mbstring php-mcrypt php-bcmath php-mhash libmcrypt libmcrypt-devel
yum安装LNMP与数据库主从复制读取分离结合

修改nginx主配置文件
43 index index.html index.php;
location ~ .php$ {
root /usr/share/nginx/html/;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
index index.html index.php;
include fastcgi.conf; 调用php-fpm进程
}
yum安装LNMP与数据库主从复制读取分离结合

启动php-fpm并监听端口号9000
[[email protected] ~]# systemctl start php-fpm
[[email protected] ~]# netstat -anptu | grep 9000
yum安装LNMP与数据库主从复制读取分离结合

创建/var/www/benetcom目录
[[email protected] ~]# mkdir -p /var/www/benetcom/
yum安装LNMP与数据库主从复制读取分离结合

修改php-fpm配置文件
yum安装LNMP与数据库主从复制读取分离结合

创建测试页
[[email protected] www]# vim /var/www/benetcom/index.php

<?php phpinfo(); ?>

yum安装LNMP与数据库主从复制读取分离结合

验证
yum安装LNMP与数据库主从复制读取分离结合

5.验证通过部署服务
上传需要上线的服务
yum安装LNMP与数据库主从复制读取分离结合

解压
yum安装LNMP与数据库主从复制读取分离结合

找到服务目录
yum安装LNMP与数据库主从复制读取分离结合

上线服务
yum安装LNMP与数据库主从复制读取分离结合
yum安装LNMP与数据库主从复制读取分离结合

修改目录权限和所有者
[[email protected] html]# chmod -R 755 /usr/share/nginx/html/
[[email protected] html]# chown -R nginx:nginx /usr/share/nginx/html/
yum安装LNMP与数据库主从复制读取分离结合
yum安装LNMP与数据库主从复制读取分离结合

进入数据库中创建论坛数据库
MariaDB [(none)]> create database bbs;
yum安装LNMP与数据库主从复制读取分离结合

授权bbs账户访问bbs数据库
MariaDB [(none)]> grant all on bbs.* to ‘bbs’@‘localhost’ identified by ‘[email protected]’;
yum安装LNMP与数据库主从复制读取分离结合

验证
yum安装LNMP与数据库主从复制读取分离结合
yum安装LNMP与数据库主从复制读取分离结合
yum安装LNMP与数据库主从复制读取分离结合

删除index.html
yum安装LNMP与数据库主从复制读取分离结合
yum安装LNMP与数据库主从复制读取分离结合

主从复制验证
yum安装LNMP与数据库主从复制读取分离结合