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