首页 > 其他 > 详细

通过LVS调度器实现调度到不同的wordpress服务器上去

时间:2021-05-17 22:26:51      阅读:29      评论:0      收藏:0      [点我收藏+]

 

 

VS=虚拟服务器、调度器,负载均衡器
RS=真实访问的服务器
CIP:客户端IP地址
VIP: Virtual serve IP VS外网的IP
DIP=内网的IP,主要用于和内网主机通讯
RIP=真正的服务器IP

 

一、搭建两台RS服务器(以下步骤两台RS服务器都需要执行)

  1、安装http的服务

yum install httpd -y

  2、开启httpd服务,并设置为开机启动

systemctl start httpd 
systemctl enable httpd

  3、在RS服务器上新建测试页面,仅用于后续测试lvs是否成功,可以跳过

echo 192.168.1.4 RS1 > /var/www/html/index.html
echo 192.168.1.5 RS2 > /var/www/html/index.html

  4、防火墙设置(下面任选一种,不设置无法访问,)(所有机器都需要设置,不然会不通的)

    1)、关闭防火墙

systemctl stop firewalld

    2)、设置防火墙规则临时允许80端口

firewall-cmd --zone=public --add-port=80/tcp 

    3)、设置永久允许防火墙80端口

firewall-cmd --zone=public --add-port=80/tcp --permanent 
firewall-cmd --reload

    4)、设置临时允许对应的服务

firewall-cmd --add-service=http

    5)、设置永久允许对应的服务

firewall-cmd --add-service=http --permanent 
firewall-cmd --reload

临时生效,重启就没了,设置服务允许,对应的端口也会允许(此处针对centos7及以上)

  5、修改两台RS服务器的网关为VS服务器内网IP地址

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

GATEWAY=192.168.1.3

  二、搭建VS服务器 内网IP地址192.168.1.3 外网IP地址172.16.8.167  

  1、开启路由转发

vim /etc/sysctl.conf 

net.ipv4.ip_forward=1

  2、路由生效

sysctl -p

  3、返回如下,则表示生效成功,生效成功,其他服务器网关设置为VS服务器的可以通过本台机器访问外网

net.ipv4.ip_forward = 1

  4、安装ipvsadm包

yum install ipvsadm -y

  5、增加集群,指定调度算法 rr 轮循

ipvsadm -A -t 172.16.8.167:80 -s rr

注释:(-A 增加)、(-t,tcp协议)、(172.16.8.35:80,LVS服务器外网IP地址,80web服务的端口号)、(-s rr,指定调度算法rr (轮循),不指定默认,默认wLc)

  6、查看

1)、通过ipvsadm -L 可以列出:

[06:19:30 root@localhost ~]#ipvsadm -L
IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Scheduler Flags
  -> RemoteAddress:Port           Forward Weight ActiveConn InActConn
TCP  localhost.localdomain:http rr

2)、ipvsadm -Ln ,数字方式查看,和上面显示http不同直接显示IP地址

[06:20:22 root@localhost ~]#ipvsadm -Ln
IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Scheduler Flags
  -> RemoteAddress:Port           Forward Weight ActiveConn InActConn
TCP  172.16.8.167:80 rr

  7、增加集群上的RS

ipvsadm -a -t 172.16.8.167:80 -r 192.168.1.4 -m
ipvsadm -a -t 172.16.8.167:80 -r 192.168.1.5 -m

(-a 增加rs)、(-t 集群服务,指明集群服务)、(-r rs 地址)、(-m 指定NAT模型,不加默认DR模型)

  8、查看集群状态

ipvsadm -Ln --stats

  9、查看速率(速度比率)

ipvsadm -Ln --rate

  10、查看ipvs规则

cat /proc/net/ip_vs

  11、查看ipvs连接

cat /proc/net/ip_vs_conn

  12、循环没隔0.5 测试访问,是否是轮循

[06:25:19 root@localhost ~]#while true; do curl 172.16.8.167 ;sleep 0.5 ;done
192.168.1.5 RS2
192.168.1.4 RS1
192.168.1.5 RS2
192.168.1.4 RS1
192.168.1.5 RS2
192.168.1.4 RS1

NAT 模型源地址不变,所有后端的RS服务器可以查看到访问的IP具体来自哪里。

  三、搭建wordpress服务相关的事宜(这一步我都是在单台机器上做的,然后将配置文件复制到其他RS服务器上,也可以同时在RS服务器上做两遍相同的操作)

  1、在RS服务器上安装php模块和php连接mysql的包(两台RS服务器都需要安装)

yum install php-fpm php-mysql -y

  2、在数据库服务器上安装mariadb数据库192.168.1.6

yum install mariadb-server -y

  3、在数据库服务器上启动数据库

systemctl start mariadb

  4、创建数据库并设置权限

mysql -e "create database wpdb;grant all on wpdb.* to wpuser@‘192.168.1.%‘ identified by ‘centos‘"

   5、在RS服务器上开启php-fpm服务

systemctl start php-fpm

  6、修改RS服务器的http的配置

vi /etc/httpd/conf.d/fcgi.conf
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps
ProxyRequests Off
ProxyPassMatch ^/(.*\.php)$ fcgi://127.0.0.1:9000/var/www/html/$1

  7、我修改了主页面里的index.html,在前面添加了一行index.php,优先找php后缀的

<IfModule dir_module>
    DirectoryIndex index.php index.html
</IfModule>

  8、重启RS服务器上的服务

systemctl restart httpd php-fpm

  9、在RS服务器上解压wordpress包,解压到/var/www/html下

 cd /var/www/html/
 tar xvf wordpress-5.0.4-zh_CN.tar.gz 

  10、进入wordpress文件夹

cd /var/www/html/wordpress/

  11、复制模板配置文件

cp wp-config-sample.php wp-config.php

  12、修改配置文件(第4步时的账号密码)

vi wp-config.php 
/** WordPress数据库的名称 */
define(DB_NAME, wpdb);

/** MySQL数据库用户名 */
define(DB_USER, wpuser);

/** MySQL数据库密码 */
define(DB_PASSWORD, centos);

/** MySQL主机 */
define(DB_HOST, 192.168.1.6);

  13、最好测试一下是否能远程连接数据库,以防后续出问题

客户端只需要安装mariadb 
[root@localhost wordpress]# yum install mariadb -y
[root@localhost wordpress]# mysql -uwpuser -pcentos -h192.168.1.6

 

通过LVS调度器实现调度到不同的wordpress服务器上去

原文:https://www.cnblogs.com/alexlv/p/14778215.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!