负载均衡一个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
下一篇 2016-10-31

相关推荐

  • 马哥教育21期网络班—第15周课程+练习—-sed 总结

    sed:编辑器 流编辑器,文本流编辑 ed: Stream EDitor, 行编辑器; 介绍:sed是 一个非交换性文本流编辑器,它编辑文件或标准输入导出的文本拷贝。标准输入可能来自键盘、文件重定向、字符串或变量,或者管道的文本。 sed可以干什么? 别忘了vi也是一个文本编辑器。sed可以随意编辑小或大的文件,有许多…

    Linux干货 2016-11-14
  • N28 第三周【1】:grep和文本处理工具的使用

    grep一些练习 1、列出当前系统上所有已经登录的用户的用户名,注意:同一个用户登录多次,则只显示一次即可。 [root@localhost ~]# who |cut -d” ” -f1 |sort -u root 2、取出最后登录到当前系统的用户的相关信息。 [root@localhost ~]# last |cut -d” ” -f1|head -1 |…

    Linux干货 2017-12-19
  • 马哥教育网络班21期第七周作业

    1、创建一个10G分区,并格式为ext4文件系统;   (1) 要求其block大小为2048, 预留空间百分比为2, 卷标为MYDATA, 默认挂载属性包含acl;   (2) 挂载至/data/mydata目录,要求挂载时禁止程序自动运行,且不更新文件的访问时间戳; [root@localhost ~]#…

    Linux干货 2016-10-09
  • 文本处理三剑客之awk

    一、知识整理 1、awk报告生成器,格式化文本输出 发明人:a.k.a. Aho,Kernighan,weinberger awk程序通常由:BEGIN语句块、能够使用模式匹配的通用语句块、END语句块三部分组成。program通常是放在单引号或双引号中。 基本用法:awk [] ‘program’ var=value fiel… pr…

    Linux干货 2016-09-26
  • rpm实现LAMP

    rpm实现LAMP部署 LAMP概述 LAMP指的Linux(操作系统)、ApacheHTTP 服务器,MySQL(有时也指MariaDB,数据库软件) 和PHP(有时也是指Perl或Python) 的第一个字母,一般用来建立web应用平台。常用来搭建动态网站或者服务器的开源软件,本身都是各自独立的程序,但是因为常被放在一起使用,拥有了越来越高的兼容度,共同…

    Linux干货 2016-11-02
  • 第1周-1:计算机的组成及其功能以及部分常见Linux发行版简介

    一、计算机的组成及其功能: 计算机主要由硬件部分和软件部分组成。 1、硬件部分 (1)中央处理器 由控制器和运算器两大部分组成,是计算机的大脑,硬件部分里最关键的部分。决定着整个计算机系统的性能。 控制器负责协调计算机硬件的其他部分同步工作,对其他的硬件进行发号施令。是计算机系统的司令。控制器从存储器中读取指令,分析指令的含义,要完成什么操作,需要什么数据,…

    Linux干货 2016-11-01