十七周

1、搭建一套LVS-DR模型的高性能集群,并实现以下功能:

   (1)wordpress程序通过nfs共享给各个realserver

   (2)、后端realserver中的nginxphp分离

Centos7系统

地址

安装程序

LVS主机

VIP:192.168.1.110

ipvsadm

DIP:192.168.1.106

Nginx 1

192.168.1.112

nginx,nfs-utils

Nginx 2

192.168.1.116

nginx,nfs-utils

PHP/NFS

192.168.1.114

php-fpm,php-mysql,nfs-utils

Mysql

192.168.1.117

mariadb-server

1.在两台nginx主机上安装nginx,nfs-utils,没有nginx用户、用户组时,需自行创建

yum仓库

 [my]

name=myrepo

baseurl=http://nginx.org/packages/centos/$releasever/$basearch/

enabled=1

gpgcheck=0

[root@localhost ~]# yum install -y nginx

[root@localhost ~]# vim /etc/nginx/conf.d/default.conf

location / {

        root   /data/www;

        index  index.php index.html index.htm;

    }

location ~ \.php$ {

    root       /data/www;

     fastcgi_pass   192.168.1.114:9000;

     fastcgi_index  index.php;

     fastcgi_param 
SCRIPT_FILENAME 
$document_root$fastcgi_script_name;

     include        fastcgi_params;

}

创建挂载目录,修改权限

[root@localhost ~]# mkdir /data/www/ -p

[root@localhost ~]# chowm -R nginx.nginx /data/www

2.php/nfs主机

  安装PHPnfs服务

[root@ www]# yum install -y php-fpm php-mysql
nfs-utils

配置NFS服务

[root@localhost /]# mkdir -p /data/www

listen = 192.168.1.114:9000

[root@localhost /]# chowm -R nginx.nginx /data/www

[root@localhost /]# vim /etc/exports

 /data/www 192.168.1.0/24(rw,no_root_squash)


[root@localhost
/]# systemctl start nfs.service

配置php-fpm服务

[root@localhost /]# vim /etc/php-fpm.d/www.conf

listen = 192.168.1.114:9000

#listen.allowed_clients = 127.0.0.1

user = nginx

group = nginx

[root@localhost /]# systemctl start php-fpm.service

3.在两台nginx主机上挂载nfs,建立存放目录

[root@ ~]# mount -t nfs 192.168.1.114:/data/www
/data/www

4.php/nfs服务器的/data/www目录下,创建php测试

[root@localhost /]# vim /data/www/index.php

<?php

  phpinfo();

?>

5.mysql主机安装mariadb-server

[root@localhost /]# yum install -y mariadb-server

[root@localhost /]# mkdir /mydata

[root@localhost /]# chown mysql.mysql /mydata

[root@localhost /]# vim /etc/my.cnf

datadir=/mydata

innodb_file_per_table=ON

skip_name_resolve=ON

[root@l /]# mysql_install_db –user=mysql
–datadir=/mydata

[root@/]# systemctl start mariadb.service

6.测试mariadbphp联动

 mariadb主机上进行授权

MariaDB [(none)]> grant all on *.* to
‘root’@’192.168.1.%’ identified by ‘mageedu’;

php/nfs主机上创建测试页

[root@localhost /]# vim /data/www/index.php

<?php

 $conn=mysql_connect (“192.168.1.117”,’root’,’mageedu’);

   if ($conn)

     echo
“OK !!!”;

  else

     echo
“FAILURE”;

?>

7.Mysql数据库建立WordPress数据库和用户

MariaDB [(none)]> create database wpdb;

MariaDB [(none)]> grant all on *.* to
‘root’@’192.168.1.%’ identified by ‘mageedu’;

MariaDB [(none)]> flush privileges;

8.php/nfs主机上部署wordpress

[root@localhost /]# cd /data/www

[root@localhost www]# unzip wordpress-4.7.4-zh_CN.zip

[root@localhost www]# cd wordpress/

[root@wordpress]# cp wp-config-sample.php
wp-config.php

 mysql主机创建数据

MariaDB [(none)]> create database wpdb;

MariaDB [(none)]> grant all on wpdb.* to
‘wpuser’@’192.168.1.%’ identified by ‘mageedu’;

php/nfs主机修改wordpress配置文件(内容要与mysql数据库中一致)

[root@localhost wordpress]# vim wp-config.php

/** WordPress数据库的名称 */

define(‘DB_NAME’, ‘wpdb’);

/** MySQL数据库用户名 */

define(‘DB_USER’, ‘wpuser’);

/** MySQL数据库密码 */

define(‘DB_PASSWORD’, ‘mageedu’);

/** MySQL主机 */

define(‘DB_HOST’, ‘192.168.1.114’);

十七周

9.LVS主机安装lvs

[root@CentOS7 /]# yum insatll ipvsadm -y

  lvs的物理网卡配置VIP

[root@CentOS7
/]# ifconfig eno16777736:0 netmask 255.255.255.255 broadcast 192.168.1.110

[root@CentOS7
/]# route add -host 192.168.1.110 dev eno16777736:0

10.在两台nginx主机对IP进行配置,添加路由,修改内核参数,

[root@CentOS7
/]#ifconfig lo:0 192.168.1.110 netmask 255.255.255.255 broadcast 192.168.1.110

[root@CentOS7]#route add -host 192.168.1.110 dev lo:0

[root@CentOS7]#echo 1
>/proc/sys/net/ipv4/conf/all/arp_ignore

[root@CentOS7]#echo 1
>/proc/sys/net/ipv4/conf/lo/arp_ignore

[root@CentOS7]#echo 2
>/proc/sys/net/ipv4/conf/lo/arp_announce

[root@CentOS7]#echo 2 >/proc/sys/net/ipv4/conf/all/arp_announce

LVS主机设置规则

[root@CentOS7 ]#ipvsadm -A -t 192.168.1.110:80 -s rr

[root@CentOS7/]#ipvsadm -a -t 192.168.1.110:80 -r 192.168.1.112 -g -w 1

[root@CentOS7]#ipvsadm -a -t 192.168.1.110:80 -r 192.168.1.116 -g -w 1

[root@CentOS7]# ipvsadm -Ln

[root@CentOS7]#systemctl status ipvsadm

11.浏览器测试(192.168.1.110/wordpress

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

(1)
ning407631632ning407631632
上一篇 2017-08-16 19:01
下一篇 2017-08-17 16:13

相关推荐

  • N28-第二周

    1. Linux上的文件管理類命令都有哪些,其常用的使用方法及其相關示例演示。
    2. bash的工作特性之命令執行狀態返回值和命令行展開所涉及的內容及其示例演示。
    3. 請使用命令行展開功能來完成以下練習:
    (1) 創建/tmp目錄下的a_c、a_d、b_c、b_d。
    (2) 創建/tmp/mylinux目錄下的bin、boot/grub、dev、etc/rc.d/init.d、etc/sysconfig/network-scripts、lib/modules、
    lib64、proc、sbin、sys、tmp、usr/local/bin、usr/local/sbin、var/lock、var/log、var/run目錄。
    4. 如何查看文件的元數據,其信息有哪些,分別表示什麼含意?如何修改文件的時間戳信息?
    5. 如何定義一個命令的別名?如何在命令中引用另一個命令的執行結果?
    6. 顯示/var目錄下所有以L小寫開頭,以一個小寫字母結尾,且中間至少出現一位數字(可以有其它字符)的文件或目錄。
    7. 顯示/etc目錄下,以任意一個數字開頭,且以非數字結尾的文件或目錄。
    8. 顯示/etc目錄下,以非字母開頭,後面跟了一個字母以及其他任意長度任意字符的文件或目錄。
    9. 在/tmp目錄下創建以tfile開頭,後跟當前日期和時間的文件,文件名形如:tfile-2016-05-27-09-32-22。
    10. 複製/etc目錄下所有以p開頭,以非數字結尾的文件或目錄到/tmp/mytest1目錄中。
    11. 複製/etc目錄下所有以.d結尾的文件或目錄至/tmp/mytest2目錄中。
    12. 複製/etc目錄下所有以L小寫或m或n開頭,以.conf結尾的文件至/tmp/mytest3目錄中。

    Linux干货 2017-12-14
  • 第五周作业

    1、显示/boot/grub/grub.conf中以至少一个空白字符开头的行; ~]# grep  “^[[:space:]]\{1,\}” /boot/grup/grup.conf                     &…

    2017-03-01
  • 马哥教育网络班N22期+第3周课程练习

    1、列出当前系统上所有已经登录的用户的用户名,注意:同一个用户登录多次,则只显示一次即可。 2、取出最后登录到当前系统的用户的相关信息。     [root@zabbix ~]# id $(who | cut -d' ' -f1 | tail -n 1)    &nbs…

    Linux干货 2016-08-30
  • 马哥教育网络班21期+第一周课程练习

    1、描述计算机的组成及其功能。 计算机由五大组件组成包括:计算器,控制器,存储,输入设备,输出设备。 运算器:做运算,且只能做二进制运算,包括算术运算和逻辑运算,如加减乘除,移位,取模。运算器的核心是加法器。 控制器:控制整个计算机部件之间协调。比如做计算,运算器先从存储器取数,运算器作运算,再回存存储器。这整个过程都由控制器做协调。  &nbsp…

    Linux干货 2016-07-12
  • NTP服务器搭建

        1、NTP(Network Time Protocol)         在计算机世界中,NTP(Network Time Protocol,网络时间协议)被广泛用于对时间的统一性和准确性要求非常高的场景,是用来使网络中的各个计算机时间同步的一种协议。…

    Linux干货 2015-11-18
  • Linux中命令的分类,hash缓存表与别名

        命令的分类:     在Linnux中,平常工作用的是字符界面。Linux输入命令后,shell接收命令通过系统调用把命令送入内核中执行。    *shell中的可执行命令分为两类        1.内部命令:为shell自带命令,利用某种形式在开机后…

    Linux干货 2017-07-15