nginx负载均衡高可用服务


nginx负载均衡上线高可用LNMP的服务

思路:
MySQL互为主从
MySQL高可用
安装 nginx
nginx 负载
安装php相关插件
上线服务

1.数据库互为主从
PC2(主):
yum -y install mariadb mariadb-server
vim /etc/my.cnf
server-id=1
log-bin=mysql-bin
relay-log=mysql-relay
systemctl restart mariadb

grant replication slave on . to ‘tom’@’%’ identified by ‘123’;
flush privileges;
stop slave;
help change master to (辅助)

CHANGE MASTER TO
MASTER_HOST=‘192.168.159.13’, (对方ip)
MASTER_USER=‘tom’,
MASTER_PASSWORD=‘123’,
MASTER_LOG_FILE=‘mysql-bin.000001’,
MASTER_LOG_POS=458;

start slave;
show slave status \G;

PC3(从):
yum -y install mariadb mariadb-server
systemctl start mariadb

server-id=2
log-bin=mysql-bin
relay-log=mysql-relay

grant replication slave on . to ‘tom’@’%’ identified by ‘123’;
flush privileges;
stop slave;
help change master to (辅助)

CHANGE MASTER TO
MASTER_HOST=‘192.168.159.12’, (对方ip)
MASTER_USER=‘tom’,
MASTER_PASSWORD=‘123’,
MASTER_LOG_FILE=‘mysql-bin.000001’,
MASTER_LOG_POS=458;

start slave;
show slave status \G;

2.高可用
PC2:
vim /etc/keepalived/keepalived.conf
! vrrp_strict
vrrp_garp_interval 0
vrrp_gna_interval 0
}

vrrp_instance VI_1 {
state MASTER
interface ens33
virtual_router_id 51
priority 90
advert_int 1
authentication {
auth_type PASS
auth_pass 1111
}
virtual_ipaddress {
192.168.159.181
}
}
virtual_server 192.168.159.181 3306 {
delay_loop 6
protocol TCP

real_server 127.0.0.1 3306 {
    weight 1
    notify_down "pkill keepalived"
    TCP_CHECK {
        connect_port 3306
        connect_timeout 3
        nb_get_retry 3
        delay_before_retry 3
    }
}

}

PC3:
vim /etc/keepalived/keepalived.conf
! vrrp_strict
vrrp_garp_interval 0
vrrp_gna_interval 0
}

vrrp_instance VI_1 {
state BACKUP
interface ens33
virtual_router_id 51
priority 90
advert_int 1
authentication {
auth_type PASS
auth_pass 1111
}
virtual_ipaddress {
192.168.159.181
}
}
virtual_server 192.168.159.181 3306 {
delay_loop 6
protocol TCP

real_server 127.0.0.1 3306 {
    weight 1
    notify_down "pkill keepalived"
    TCP_CHECK {
        connect_port 3306
        connect_timeout 3
        nb_get_retry 3
        delay_before_retry 3
    }
}

}

3.负载均衡
PC1:
#下载安装nginx
yum -y install gcc pcre-devel openssl-devel wget && wget http://nginx.org/download/nginx-1.18.0.tar.gz && cd && tar zxf nginx-1.18.0.tar.gz && cd nginx-1.18.0 && ./configure && make && make install

scp -r /usr/local/nginx [email protected]:/usr/local
scp -r /usr/local/nginx [email protected]:/usr/local
/usr/local/nginx/sbin/nginx

vim /usr/local/nginx/conf/nginx.conf
upstream server {
server 192.168.159.12
server 192.168.159.13
}
location / {
proxy_pass http://server;
}

/usr/local/nginx/sbin/nginx -s reload

PC2:
yum -y install php php-mysql php-gd php-fpm
location / {
root html;
index index.php index.htm;
}
/usr/local/nginx/sbin/nginx -s reload

systemctl start php-fpm
创建测试页面,测试PHP页面能否正常展示
vim /usr/local/nginx/html/info.php
1111

<?php phpinfo(); ?>

http://192.168.159.12/info.php
cd usr/local/nginx/html
上传服务压缩包
解压服务压缩包
授权
http://192.168.159.13
用VIP登录安装服务

PC3:
yum -y install php php-mysql php-gd php-fpm
location / {
root html;
index index.php index.htm;
}
/usr/local/nginx/sbin/nginx -s reload
systemctl start php-fpm
创建测试页面,测试PHP页面能否正常展示
vim /usr/local/nginx/html/info.php
1111

<?php phpinfo(); ?>

http://192.168.159.12/info.php
cd usr/local/nginx/html
上传服务压缩包
解压服务压缩包
授权
http://192.168.159.13
用VIP登录安装服务

检查是否成功:
http://192.168.159.11
可以正常操作
关闭PC2 或者PC3 的数据库
关闭PC2 或者PC3 的NGINX
仍然不影响正常操作,则实现NGINX负载均衡高可用服务

猜你喜欢

转载自blog.csdn.net/youchaoXu/article/details/114238154