1.安装7台主机,配置主机名网络,关闭防火墙和selinux

2.两台nginx主机,配置网络源安装Nginx 和 keeplived(热备)

3.两台apache主机,配置本地源安装,httpd和php php-mysql

4.两台mysql主机,配置raid5,创建目录并挂载到/var/lib/mysql 再安装mariadb*

5.一台nfs主机,配置raid5,创建并挂载到/luntan目录中,安装nfs-utils*,配置软件

(可省略)/打开网卡配置文件

Vi /etc/sysconfig/network-scripts/ifcfg-ens33

修改参数

BOOTPROTO=static

ONBOOT=yes

IPADDR=IP地址

NETMASK=对应子网掩码

GATEWAY=对应网关

注:如果是在vmware虚拟机上配置静态IP,如果主机网络类型是仅主机模式或者NAT模式请注意查看虚拟网络编辑器中对应网段与网关。

原因:当前的虚拟网络编辑器就是我们的模拟路由器,所以网段必须统一。

NFS

安装mdadm: yum install -y mdadm

创建raid5: mdadm -C /dev/md5 -l 5 -n 3 -x 1 /dev/sd{b,c,d,e}

格式化: mkfs -t ext4 /dev/md5

挂载: mount /dev/md5 /luntan

安装软件: yum install -ynfs-utils*

安装NFS yum install -y install nfs

关闭防火墙, systemctl stop firewalld

selinux setenforce 0

先启动守护进程 systemctl start rpcbind

再启动运行程序 systemctl start nfs

更换到/目录 cd /

创建创建共享目录/luntan mkdir /luntan

更换目录 /luntan cd /luntan

上传需要被共享的文件到这个目录中去

wget http://download.comsenz.com/DiscuzX/3.2/Discuz_X3.2_SC_UTF8.zip

修改配置文件:vi /etc/exports

文件内容:共享目录的绝对路径 客户端(权限)

例如: /luntan *(rw,no_root_squash)

4.切换到客户端主机上进行挂载挂载共享目录到指定挂载点:

mount -t 文件系统类型 服务端IP:共享目录绝对路径本机挂点

例如: mount -t nfs 服务端 IP:/luntan /var/www/html

常见错误:

(1)提示文件系统类型不存在。解决方式:yum install ynfs*

(2)提示挂载点目录路径或共享目录不存在错误。解决方式:确认本机挂载点正确,确认共享目录路径书写正确。

(3)提示Norouteto host。解决方式:关闭客户端服务器的防火墙和selinux

(4)提示拒绝被挂载。解决方式:服务端使用命令 exportfs +直看配置文件语法是否有误。

5.验证挂载成功

Showmount -e 本机IP地址

Apache

配置yum源 复制yum 在NFS上输入 scp /本地文件路径 root@目标主机IP:目标路径

安装NFS yum install -y nfs*

安装httpd* yum install -y httpd*

安装php* yum install -y php*

4.切换到客户端主机上进行挂载挂载共享目录到指定挂载点:

mount -t 文件系统类型 服务端IP:共享目录绝对路径本机挂点

例如: mount -t nfs 服务端IP:/luntan /var/www/html

常见错误:

(1)提示文件系统类型不存在。解决方式:yum install ynfs*

(2)提示挂载点目录路径或共享目录不存在错误。解决方式:确认本机挂载点正确,确认共享目录路径书写正确。

(3)提示Norouteto host。解决方式:关闭客户端服务器的防火墙和selinux

(4)提示拒绝被挂载。解决方式:服务端使用命令 exportfs +直看配置文件语法是否有误。

5.验证挂载成功

Showmount -e 本机IP地址

下载wget 安装 wget http://download.comsenz.com/DiscuzX/3.2/Discuz_X3.2_SC_UTF8.zip

安装unzip*: yum install -y unzip*

切换目录: cd /var/www/html

解压: unzip D……[将NFS里面下载的Dis…….解 压到httpd里面

Unzip Discuz_X3.2_SC_UTF8\(1\).zip -d /var/www/html/

移动: mv /var/www/html/upload/* /var/www/html

修改权限: chmod -R 757 data config uc*

关闭防火墙: systemctl stop firewalld

关闭selinux: setenforce 0

重新启动httpd; systemctl restart httpd

MySQL【配置数据库开启远程服务】

下载mdadm:yum install -y mdadm

创建raid5: mdadm -C /dev/md5 -l 5 -n 3 -x 1 /dev/sd{b,c,d,e}

格式化: mkfs -t ext4 /dev/md5

创建挂载点: mkdir /var/lib/md5

挂载: mount /dev/md5 /var/lib/mysql/

配置yum源 复制yum 在NFS上输入 scp /本地文件路径 root@目标主机IP;目标路径

配置数据库开启远程管理

1.安装数据库 yum install -y mariadb*

2.启动数据库 systemctl start mariadb

3.配置密码 mysql_secure_installation

4.本机登录验证 mysql -uroot -p

5.授权 grant all privileges on *.* to ‘root’@’%’ identified by ‘123456’;

6. 刷新权限 flush privileges;

7.退出 quit

8.关闭主机防火墙 systemctl stop firewalld

9.关闭主机selinux setenfroce 0

MySQL主从复制

2. 主从复制配置过

2.2.1 主库配置

# vim /etc/my.cnf

[mysqld]

….

log-bin=mysql-bin #日志文件名称mysql-bin.00001

server-id=1 #0–65535范围

sync_binlog=1

auto_increment_increment=2

auto_increment_offset=1

binlog-ignore-db=mysql

binlog-ignore-db=information_schema

binlog-ignore-db=performance_schema

binlog-ignore-db=sys

# 修改完成之后需要重启Mysql服务

systemctl restart mariadb

# 授权远程用户

mysql> CREATE USER ‘shz’@’%’ IDENTIFIED BY ‘123456’;

mysql>grant all privileges on *.* to ‘shz’@’%’ identified by ‘123456’;

mysql> flush privileges;

#验证成功,切换到从机

mysql -h主机IP -ushz -p123456

登录成功证明主库用户授权成功,网络互通,防火墙selinux关闭生效

2.从库配置

# vim /etc/my.cnf

[mysqld]

server-id=3

relay-log=mysql-relay-bin

replicate-ignore-db=mysql

replicate-ignore-db=information_schema

replicate-ignore-db=performance_schema

replicate-ignore-db=sys

重启服务 systemctl restart mariadb

2.2.3 在主库上导出所有数据库

#在主机与从机上创建master1数据库

MASTER > create database master1;

SLAVE > create database master1;

# 获取库信息

MASTER> show master status; 查询Log_file log_pos

#配置从库连接到主库,MASTER_LOG_FILE与MASTER_LOG_POS的值由主库信息获得

mysql> CHANGE MASTER TO MASTER_HOST=’192.168.122.148′, MASTER_USER=’shz’, MASTER_PASSWORD=’123456′, MASTER_PORT=3306, MASTER_LOG_FILE=’mysql-bin.000004′, MASTER_LOG_POS=670, MASTER_CONNECT_RETRY=10;

#开启复制

start slave;

#查看slave状态

show slave status \G;

#主要查看内容:

Slave_IO_Running,Slave_SQL_Running的状态要为Yes。

nginx

基于NGINX完成的负载均衡

  1. 配置yum源

[nginx-stable]

name=nginx stable repo

baseurl=http://nginx.org/packages/centos/$releasever/$basearch/

gpgcheck=0

enabled=1

gpgkey=https://nginx.org/keys/nginx_signing.key

2.修改/etc/resolv.conf

nameserver 网关

wget http://mirrors.aliyun.com/repo/Centos-7.repo

  1. 安装nginx

yum install -y nginx

  1. 启动

systemctl start nginx

注:nginx使用tcp80端口,请注意与其他web服务冲突、

  1. 配置反向代理的主机是谁

vi /etc/nginx/nginx.conf

http {

upstream backend {

server 192.168.100.102:80;apache1主机IP

server 192.168.100.103:80;apache2主机IP

}

}

  1. 配置Nginx开启反向代理访问

/etc/nginx/conf.d/default.conf

server {

location / {

proxy_pass http://backend;

proxy_redirect default;

#设置代理

proxy_set_header Host $host;

proxy_set_header X-Real-IP $remote_addr;

}

}

在两个NGINX主机上安装keepalived

Yum -y install keepalived

修改配置/etc/keepalived/keepalived.conf

清空内容后,添加以下内容

global_defs {

router_id 1

}

vrrp_instance VI_1 {

state MASTER

interface ens33

virtual_router_id 1

priority 100

advert_int 1

authentication {

auth_type PASS

auth_pass 123456

}

virtual_ipaddress {

192.168.150.200

}

}

辅调度器上要稍作修改:

将 router_id 1 改为 router_id 2

将 state MASTER 改为 state BACKUP

将 priority 100 改为 priority 99

其他不变