负载均衡一个PHP应用

负载均衡一个PHP应用

1、mariadb、nfs服务器的设置 (centos 7)

[root@localhost ~]# rpm -q rpcbind
rpcbind-0.2.0-32.el7.x86_64
[root@localhost ~]# rpm -q nfs-utils (默认nfs已经安装的)
nfs-utils-1.3.0-0.21.el7.x86_64

[root@localhost ~]# yum -y install mariadb-server 
[root@localhost ~]# systemctl start mariadb
[root@localhost ~]# mysql  (创建一个数据库给web服务器使用)
    MariaDB [(none)]> CREATE DATABASE wordpress;
    MariaDB [(none)]> GRANT ALL ON wordpress.* TO 'wordpress'@'192.168.116.%' IDENTIFIED BY '123456';
    MariaDB [(none)]> FLUSH PRIVILEGES;

[root@localhost ~]# systemctl start nfs 
[root@localhost ~]# mkdir /wordpress  
[root@localhost ~]# vim /etc/exports  (创建共享目录)
    /wordpress      192.168.116.0/24(rw,no_root_squash)

[root@localhost ~]# tar xf wordpress-4.5.3-zh_CN.tar.gz 
[root@localhost ~]# cd wordpress/
[root@localhost wordpress]# mv ./* /wordpress/
[root@localhost wordpress]# cp wp-config-sample.php wp-config.php (此目录为/wordpress)
[root@localhost wordpress]# vim wp-config.php 修改如下配置
define('DB_NAME', 'wordpress');
define('DB_USER', 'wordpress');
define('DB_PASSWORD', '123456');
define('DB_HOST', '192.168.116.114');
define('DB_CHARSET', 'utf8');
[root@localhost ~]# chown -R apache:apache /wordpress

2、web1的配置(centos6)

(1)网卡配置

1)修改内核参数来限制arp响应和通告

先限制通告再设置ip
[root@localhost ~]# echo 1 > /proc/sys/net/ipv4/conf/all/arp_ignore
[root@localhost ~]# echo 2 > /proc/sys/net/ipv4/conf/all/arp_announce
[root@localhost ~]# echo 1 > /proc/sys/net/ipv4/conf/lo/arp_ignore
[root@localhost ~]# echo 2 > /proc/sys/net/ipv4/conf/lo/arp_announce

2)网卡配置

[root@localhost ~]# vim /etc/sysconfig/network-scripts/ifcfg-eth1 
网卡名和MAC地址每台虚拟机都不同的,可使用 ip a 命令查看再设置
DEVICE=eth1
HWADDR=00:0c:29:9f:12:63 
BOOTPROTO=none
ONBOOT=yes
IPADDR=192.168.116.6
NETMASK=255.255.255.0

先重启网络服务再配置下面lo0网络
[root@localhost ~]# ifconfig lo:0 192.168.116.254 netmask 255.255.255.255 broadcast 192.168.116.254 up
[root@localhost ~]# route add -host 192.168.116.254 dev lo:0

3)挂载nfs共享目录

[root@localhost ~]# mkdir /web
[root@localhost ~]# mount -t nfs 192.168.116.114:/wrodpress /web

4)安装httpd php php-mysql

[root@localhost ~]# yum -y install httpd php php-mysql
[root@localhost ~]# vim /etc/httpd/conf.d/web.conf
    NameVirtualHost *:80
    <Virtualhost *:80>
            ServerName www.wordpress.com
            DocumentRoot "/web"
    </Virtualhost>
[root@localhost ~]# service httpd start

3、web2的配置(centos7)

1)修改内核参数来限制arp响应和通告

先限制通告再设置ip
[root@localhost ~]# echo 1 > /proc/sys/net/ipv4/conf/all/arp_ignore
[root@localhost ~]# echo 2 > /proc/sys/net/ipv4/conf/all/arp_announce
[root@localhost ~]# echo 1 > /proc/sys/net/ipv4/conf/lo/arp_ignore
[root@localhost ~]# echo 2 > /proc/sys/net/ipv4/conf/lo/arp_announce

2)网卡配置

[root@localhost ~]# vim /etc/sysconfig/network-scripts/ifcfg-eno33554984 

DEVICE=eno33554984
ONBOOT=yes
BOOTPROTO=none
IPADDR=192.168.116.7
NETMASK=255.255.255.0
HWADDR=00:0c:29:e8:7c:c6

先重启网络服务再配置下面lo0网络
[root@localhost ~]# ifconfig lo:0 192.168.116.254 netmask 255.255.255.255 broadcast 192.168.116.254 up  (临时设置网卡,重启网络服务时效)
[root@localhost ~]# route add -host 192.168.116.254 dev lo:0

3)挂载nfs共享目录

[root@localhost ~]# mkdir /web
[root@localhost ~]# mount -t nfs 192.168.116.114:/wrodpress /web

4)安装httpd php php-mysql

[root@localhost ~]# yum -y install httpd php php-mysql
[root@localhost ~]# vim /etc/httpd/conf.d/web.conf 

    <Virtualhost *:80>
            DocumentRoot "/web"
            ServerName www.wrodpress.com
            <Directory "/web">
                    AllowOverride none
                    Options none
                    Require all granted
            </Directory>
    </Virtualhost>
[root@localhost ~]# systemctl start httpd

4、director的设置

1)网卡配置

[root@localhost ~]# vim /etc/sysconfig/network-scripts/ifcfg-eno16777736 
DEVICE=eno16777736
HWADDR= 00:0c:29:0e:27:cd
IPADDR=192.168.116.1
NETMASK=255.255.255.0
BOOTPROTO=none
ONBOOT=yes

先重启网络服务再配置下面lo0网络
[root@localhost ~]# ifconfig eno16777736:0 192.168.116.254 netmask 255.255.255.255 broadcast 192.168.116.254 up

2)ipvs的配置

[root@localhost ~]# yum -y install ipvsadm
[root@localhost ~]# ipvsadm -A -t 192.168.116.254:80 -s rr
[root@localhost ~]# ipvsadm -a -t 192.168.116.254:80 -r 192.168.116.6 -g -w 1
[root@localhost ~]# ipvsadm -a -t 192.168.116.254:80 -r 192.168.116.7 -g -w 1

5、客户端测试

[root@localhost ~]# vim /etc/sysconfig/network-scripts/ifcfg-eno16777736
DEVICE=eno16777736
HWADDR= 00:0c:29:0e:27:cu
IPADDR=192.168.116.110
NETMASK=255.255.255.0
BOOTPROTO=none
ONBOOT=yes

[root@localhost ~]# vim /etc/hosts
    192.168.116.254   www.wordpress.com

在浏览器中输入www.wordpress.com,按提示安装WordPress并登陆。

负载均衡一个PHP应用

新建一个网页,并上传一个图片,发布后多次刷新,如果显示页面都一样,则实验完成

负载均衡一个PHP应用

原创文章,作者:pao,如若转载,请注明出处:http://www.178linux.com/56455

(0)
paopao
上一篇 2016-10-31 15:19
下一篇 2016-10-31 20:34

相关推荐

  • 15 权限管理及作业

    15 权限管理及作业(作业单独一篇) 一、杂项知识整理 1、访问控制列表:ACL:Access Control List,实现灵活的权限管理。     除了文件的所有者,所属组和其它人,可以对更多的用户设置权限。     centos7.0之后默认创建的ext4文件系统有ACL功…

    Linux干货 2016-08-04
  • PHP运行模式

    PHP运行模式有4钟: 1)cgi 通用网关接口(Common Gateway Interface))2) fast-cgi 常驻 (long-live) 型的 CGI3) cli  命令行运行   (Command Line Interface)4)web模块模式 (apache等web服务器运行的模块模式) 1.  CGI(…

    Linux干货 2015-04-10
  • 磁盘分区,raid,lvm,脚本编程_第七周练习

    Q1:创建一个10G分区,并格式为ext4文件系统; (1) 要求其block大小为2048, 预留空间百分比为2, 卷标为MYDATA, 默认挂载属性包含acl; [root@promote ~]# fdisk /dev/sdb        &n…

    Linux干货 2016-12-24
  • ​iptables简单介绍

    iptables简单介绍 什么是防火墙? 防火墙是工作在主机或网络边缘,能够对其所匹配到的报文根据事先定义好的规则作出相应处理的组件,可以是软件,也可以是硬件,还能软硬结合实现。 UNIX/Linux中对防火墙的实现 早期在openBSD中通过内核中的ipfw实现简单的数据报过滤功能、后来在Linux 2.2内核中使用ipchains来取代,意为链、后来在L…

    Linux干货 2016-03-31
  • 文本处理工具-习题

    1 、找出ifconfig 命令结果中本机的所有IPv4地址 [root@centos7 ~]# ifconfig |head -2 |tail-1 |cut -dn -f2 |cut -d" " -f2 2 、查出分区空间使用率的最大百分比值 [root@centos7 ~]# df |cut -c44-46 |sort -n|tail…

    Linux干货 2016-08-15
  • 什么是文件系统

    文件系统:层级结构;有索引; /: 原初起点; 倒置树状结构; /dev/pts/2: 最左侧/: 表示根目录 其它的/: 表示路径分隔符 Linux的路径分隔符是/ Windows的是\ 文件的路径表示: 绝对路径:从根开始表示出的路径  相对路径:从当前位置开始表示出的路径 文件名使用法则: 严格区分字符大小写:file1, File1, FI…

    Linux干货 2016-10-29