wordpress和discuz的负载均衡(lvs-nat)

wordpress和discuz的负载均衡(lvs-nat)


实验目的:利用lvs-nat模型实现wordpressdiscuz的负载均衡

实验要求:客户端访问wordpressDiscuz服务时,无论被调度至哪台RS上,其会话和访问的页面都应保持一致;

实验环境:一台server用作VS(需要两块网卡,eth1连接内部网络,eth0连接外部网络),两台server用作RS,一台server用于部署mysqlNFSwordpressDiscuz服务

操作步骤:

一、配置IP

1.配置A主机的IP

# ip addr add dev eth0 192.168.20.254/24

# ip addr add dev eth1 192.168.10.254/24

2.配置B主机的IP及网关

# ip addr add dev eth0 192.168.10.2/24

# ip route add default via 192.168.10.254

3.配置C主机的IP及网关

# ip addr add dev eth0 192.168.10.3/24

# ip route add default via 192.168.10.254

4.配置D主机的IP及网关

# ip addr add dev eth0 192.168.10.4/24

# ip route add default via 192.168.10.254

二、配置集群

A主机上操作

1.安装ipvsadm工具

# yum -y install ipvsadm

2.开启核心路由转发功能

# echo 1 > /proc/sys/net/ipv4/ip_forward

3.配置VS,调度算法为sh

# ipvsadm -A -t 192.168.20.254:80 -s sh

4.配置RSLVS类型为NAT

# ipvsadm -a -t 192.168.20.254:80 -r 192.168.10.2 -m

# ipvsadm -a -t 192.168.20.254:80 -r 192.168.10.3 -m

三、部署NFSmysql

D主机上操作

1.安装所需软件包

# yum -y install nfs-utils mysql-server

2.准备用户apache(访问NFS服务时映射为的用户)

# useradd -u 48 apache

3.准备需要导出的目录,且其属主、属组为apahce

# install -o apache -g apache -d /data/application/web

4.下载wordpress程序包并解压至/data/application/web目录下,并将其属主、属组改为apachewordpress目录下的wp-content目录的权限改为777(上传图片时需要写权限)

# unzip wordpress-4.3.1.-zh_CN.zip

# mv wordpress /data/application/web

# cd /data/application/web

# chown -R apache.apache wordpress

# chmod 777 wordpress/wp-content

5.下载Discuz程序包并解压至/data/application/web目录下,并将其属主、属组改为apache # tar xvf Discuz-tar.xz

# mv upload /data/applicatiion/web

# cd /data/application/web

# chown -R apache.apache upload

6.编辑nfs配置文件,/data/application/web目录导出,允许192.168.10.0/24网段连接,导出属性为rw,async,用户映射为apache

# vim /etc/exports

    /data/application/web 192.168.10.0/24(rw,async,anonuid=48,anongid=48)

7.启动mysql服务,创建数据库wpdbdzdb,并分别授权用户wpuserwpdb数据库下的所有表拥有所有权限,dzuserdzdb数据库下的所有表拥有所有权限;

# systemctl start mariadb

# mysql

mysql>CREATE DATABASE wpdb;

mysql>CREATE DATABASE dzdb;

mysql>GRANT ALL ON wpdb.* TO ‘wpuser’@’%’ IDENTIFIED BY ‘wppasswd’;

mysql>GRANT ALL ON dzdb.* TO ‘dzuser’@’%’ IDENTIFIED BY ‘dzpasswd’;

mysql>FLUSH PRIVILEGES;

8.关闭selinux和清除防火墙规则

# setenforce 0

# iptables -F

9.启动nfs服务

# systemctl start nfs

四、部署lamp

BC主机上操作

1.D主机上导出的目录挂载至/var/www/html目录下

# mount.nfs 192.168.10.4:/data/application/web /var/www/html

2.安装httpdphpphp-mysql

# yum -y install httpd php php-mysql

3.启动http服务

# service httpd start

五、安装wordpress

1.Client主机上打开浏览器输入地址:192.168.20.254/wordpress

数据库名:wpdb

用户名:wpuser

密码:wppasswd

数据库主机:192.168.10.4

六、安装Discuz

1.Client主机上打开浏览器输入地址:192.168.20.254/upload/install/index.php,根据提示安装即可。

2.访问管理中心,在浏览器中输入地址:192.168.20.254/upload/uc_server,选择“管理员”,随后输入管理员帐号和密码即可访问。

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

(1)
人字拖人字拖
上一篇 2017-05-13 22:03
下一篇 2017-05-13 22:16

相关推荐

  • linux用户权限管理

       在linux文件系统中使用ls -l命令可以查看文件的属性,但是我们明白其中属性各自代表的意思吗?下面我们就来看一看,这其中的奥义。。。 文件属性 使用ls命令查看文件,可以发现列表分为几个部分,各自所代表的意义如图所示: 文件属性操作     chown 设置文件的所有者  &nb…

    Linux干货 2016-08-04
  • 第10天:程序包,脚本,sed

    http://note.youdao.com/yws/public/redirect/share?id=b9432a76ff1180b42e01f6eb7c9fc90e&type=false

    Linux干货 2016-08-18
  • shell脚本编程之变量

    一、创建shell脚本文件   创建shell脚本时,必须在第一行指定要使用的shell。格式为:   #!/bin/bash   通常在shell脚本中,#代表注释行,即不被执行的行,而第一行“#!”则是表示用哪个shell来执行脚本。   实例:   让我们来执行一下这个脚本:   上面的结果显…

    Linux干货 2016-02-14
  • grep,find

    显示当前系统上root、fedora、user用户的默认shell: 2.找出/etc/rc.d/init.d/functions文中单词后跟一组小括号的行 3.使用echo命令输出一个绝对路径,使用grep取出其基名: 4.找出ifconfig命令结果中的1-255之间的数字 5.写一个模式,匹配合理的ip地址 6.写一个模式,匹配出邮箱地址 7.查找/v…

    Linux干货 2016-11-27
  • 磁盘管理和文件系统

    磁盘结构 设备文件:关联至一个设备驱动程序,进而能够跟与之对应硬件设备进行通信 一切皆文件:open(), read(), write(), close() 设备类型: 块设备:block,存取单位“块”,磁盘 字符设备:char,存取单位“字符”,键盘 设备号码: 主设备号:major number, 标识设备类型 次设备号:minor number, 标…

    Linux干货 2017-04-23
  • Nginx+Apache+Tomcat实现LANMT动静分离

    Nginx+Apache+Tomcat实现LANMT动静分离          目的:    本次实验主要目的为实现以Nginx作为反向代理,并实现分别访问动静态服务的效果。   拓扑结构:     &nbsp…

    Linux干货 2016-12-05