服务名 | IP地址 | 服务 |
LVS1 | 192.168.8.15 | keepalived+ipvsadm |
LVS2 | 192.168.8.16 | keepalived+ipvsadm |
Nginx1 | 192.168.8.18 | Nginx+keepalived |
Nginx | 192.168.8.19 | Nginx+keepalived |
Nfs | 192.168.8.20 | nfs-util |
Web1 | 192.168.8.21 | httpd+php+nfs-util |
Web2 | 192.168.8.22 | httpd+php+nfs-util |
Mysql | 192.168.8.12 | mysql |
虚拟ip:192.168.8.100 |
一、LVS1 ip:192.168.8.15
在LVS1和2主机中关闭防火墙和selinux,并且下载keepalived和ipvsadm
关闭防火墙: Systemctl stop firewalld
关闭selinux: setenforce 0
到keepalived文件路径下进行操作
Cd /etc/keepalived/
备份默认配置文件
cp -p /etc/keepalived/keepalived.conf /etc/keepalived/keepalived.conf.bak
删除原有文件,创建新的配置文件
rm -rf keepalived.conf
vim keepalived.conf并添加以下内容
lobal_defs {
router_id 1
}
vrrp_instance VI_1 {
state MASTER
interface ens33
virtual_router_id 1
priority 120
advert_int 1
authentication {
auth_type PASS
auth_pass 123456
}
virtual_ipaddress {
192.168.8.100 #虚拟ip
}
}
virtual_server 192.168.8.100 80 {
delay_loop 15
lb_algo rr
lb_kind DR
protocol TCP
real_server 192.168.8.18 80 {
weight 1
TCP_CHECK {
connect_port 80
connect_timeout 3
nb_get_retry 3
delay_before_retry 4
}
}
real_server 192.168.8.19 80 {
weight 1
TCP_CHECK {
connect_port 80
connect_timeout 3
nb_get_retry 3
delay_before_retry 4
}
}
}
启动keepalived
systemctl start keepalived
加载系统内核模块
Modprobe ip_vs
查看运行状态
lsmod | grep ip_vs
显示
ip_vs_rr 12600 1
ip_vs 145458 3 ip_vs_rr
nf_conntrack 139264 1 ip_vs
libcrc32c 12644 3 xfs,ip_vs,nf_conntrack
下载net网络工具
yum -y install net-tools
查看网卡信息
停用物理网卡
ifconfig ens33 down
# 启动物理网卡(如在连接工具上,需到虚拟机上启动)
ifconfig ens33 up
# 查看网卡信息(在ens33网卡下是否有虚拟ip:192.168.8.100)
ip a
# 查看LVS-DR群集策略规则
ipvsadm -ln
二、LVS2 ip:192.168.8.16
在LVS2主机中关闭防火墙和selinux,并且下载keepalived和ipvsadm
关闭防火墙: Systemctl stop firewalld
关闭selinux: setenforce 0
到keepalived文件路径下进行操作
Cd /etc/keepalived/
备份默认配置文件
cp -p /etc/keepalived/keepalived.conf /etc/keepalived/keepalived.conf.bak
删除原有文件,创建新的配置文件
rm -rf keepalived.conf
vim keepalived.conf并添加以下内容
lobal_defs {
router_id 2
}
vrrp_instance VI_1 {
state BACKUP
interface ens33
virtual_router_id 1
priority 100
advert_int 1
authentication {
auth_type PASS
auth_pass 123456
}
virtual_ipaddress {
192.168.8.100
}
}
virtual_server 192.168.8.100 80 {
delay_loop 15
lb_algo rr
lb_kind DR
protocol TCP
real_server 192.168.8.18 80 {
weight 1
TCP_CHECK {
connect_port 80
connect_timeout 3
nb_get_retry 3
delay_before_retry 4
}
}
real_server 192.168.8.19 80 {
weight 1
TCP_CHECK {
connect_port 80
connect_timeout 3
nb_get_retry 3
delay_before_retry 4
}
}
}
启动keepalived
Systemctl start keepalived
服务模块
加载系统内核的服务模块
modprobe ip_vs
查看运行状态
Lsmod | grep ip_vs
下载net网络工具
Yum -y install net-tools
停用物理网卡
ifconfig ens33 down
启动物理网卡(如在连接工具上,需到虚拟机上启动)
ifconfig ens33 up
查看网卡信息(在ens33网卡下是否有ip:192.168.100.100)
ip a
查看LVS-DR群集策略规则
ipvsadm -ln
三、nginx1 IP:192.168.8.18
关闭防火墙,selinux
关闭防火墙: systemctl stop firewalld
关闭selinux: setenforce 0
配置nginx下载源
Vim /etc/yum.repos.d/nginx.repo
[nginx-stable]
name="nginx stable repo"
baseurl=http://nginx.org/packages/centos/$releasever/$basearch
enabled=1
gpgcheck=0
下载环境
yum -y install nginx keepalived
进入配置文件增加内容
Vim /etc/nginx/nginx.conf
在http{ }内增加 两台web的ip
upstream apache{
server 192.168.8.21:80;
server 192.168.8.22:80;
}
Vim /etc/nginx/conf.d/default.conf
在location / { }内增加以下
proxy_pass http://apache;
proxy_redirect default;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
重新启动nginx
systemctl restart nginx
增加虚拟网卡
cat >> /etc/sysconfig/network-scripts/ifcfg-lo:0 << EOF
> DEVICE=lo:0
> IPADDR=192.168.8.100
> NETMASK=255.255.255.255
> ONBOOT=yes
> EOF
重新启动网络
Systemctl restart network
查看虚拟ip a是否存在
Ip a
下载网络工具
yum -y install net-tools
添加路由信息
route add -host 192.168.8.100 dev lo:0 #填写虚拟ip
调整/proc内核参数,关闭ARP响应
cat >> /etc/sysctl.conf << EOF
> net.ipv4.conf.all.arp_ignore = 1
> net.ipv4.conf.all.arp_announce = 2
> net.ipv4.conf.default.arp_ignore = 1
> net.ipv4.conf.default.arp_announce = 2
> net.ipv4.conf.lo.arp_ignore = 1
> net.ipv4.conf.lo.arp_announce = 2
> EOF
查看
Sysctl -p
四、Nginx2 IP:192.168.8.19
关闭防火墙,selinux
关闭防火墙: systemctl stop firewalld
关闭selinux: setenforce 0
配置nginx下载源
Vim /etc/yum.repos.d/nginx.repo
[nginx-stable]
name="nginx stable repo"
baseurl=http://nginx.org/packages/centos/$releasever/$basearch
enabled=1
gpgcheck=0
下载环境
yum -y install nginx keepalived
进入配置文件增加内容
Vim /etc/nginx/nginx.conf
在http{ }内增加 两台web的ip
upstream apache{
server 192.168.8.21:80;
server 192.168.8.22:80;
}
Vim /etc/nginx/conf.d/default.conf
在location / { }内增加以下
proxy_pass http://apache;
proxy_redirect default;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
重新启动nginx
systemctl restart nginx
增加虚拟网卡
cat >> /etc/sysconfig/network-scripts/ifcfg-lo:0 << EOF
> DEVICE=lo:0
> IPADDR=192.168.8.100
> NETMASK=255.255.255.255
> ONBOOT=yes
> EOF
重新启动网络
Systemctl restart network
查看虚拟ip a是否存在
Ip a
下载网络工具
yum -y install net-tools
添加路由信息
route add -host 192.168.8.100 dev lo:0 #填写虚拟ip
调整/proc内核参数,关闭ARP响应
cat >> /etc/sysctl.conf << EOF
> net.ipv4.conf.all.arp_ignore = 1
> net.ipv4.conf.all.arp_announce = 2
> net.ipv4.conf.default.arp_ignore = 1
> net.ipv4.conf.default.arp_announce = 2
> net.ipv4.conf.lo.arp_ignore = 1
> net.ipv4.conf.lo.arp_announce = 2
> EOF
查看
Sysctl -p
- Nfs ip:192.168.8.20
关闭防火墙: systemctl stop firewalld
关闭selinux: setenforce 0
创建共享目录
mkdir /luntan
下载nfs环境
yum -y install nfs-utils*
下载unzip解压软件
yum -y install unzip
上传论坛包到/opt
随后解压到刚创建的/luntan下
unzip /opt/Discuz_X2_SC_UTF8\(1\).zip -d /luntan/
给予论坛文件权限
chmod -R 757 /luntan/upload/{config,data,uc_*}
因为论坛包使用到的文件在upload下,所以把upkiad下的文件拷贝出来直接使用
cp -rf /luntan/upload/* /luntan/
启动守护进程
systemctl start rpcbind
systemctl start nfs
配置nfs共享配置文件
vim /etc/exports
写入web端的ip
/luntan 192.168.8.21(rw,sync,no_root_squash) 192.168.8.22(rw,sync,no_root_squash)
刷新nfs文件权限
Exportfs -r
六、web1 192.168.8.21
关闭防火墙: systemctl stop firewalld
关闭selinux : setenforce 0
安装httpd,php,nfs环境
yum -y install httpd php php-mysql nfs-utils*
将nfs的论坛包挂载到/var/www/html
Mount 192.168.8.20:/luntan /var/www/html
启动http
Systemctl start httpd
七、web2 192.168.8.22
关闭防火墙: systemctl stop firewalld
关闭selinux : setenforce 0
安装httpd,php,nfs环境
yum -y install httpd php php-mysql nfs-utils*
将nfs的论坛包挂载到/var/www/html
Mount 192.168.8.20:/luntan /var/www/html
启动http
Systemctl start httpd
八、mysql
关闭防火墙selinux
Systemctl stop firewalld
Sentenforce 0
下载mariadb
Yum -y install mariadb mariadb-server
重新启动服务
Systemctl restart matiadb
配置mysql密码 123456 (一直回车 输入密码即可)
Mysql_secure_installation
进入数据库
Mysql -uroot -p123456
授权
grant all privileges on *.* to 'root'@'%' identified by '123456';
刷新权限
flush privileges;
1.通过vip访问discuz论坛主页
- 通过nginxip访问discuz论坛
Nginx1ip 192.168.8.18
Nginx2ip 192.168.8.19
- web上查看到挂载
Web1的挂载
Web2的挂载
- lb的vlp可以主备跳转
Lvs1网卡已经停用,ip跳转到lvs2中