web服务器(LAMP)通过DNS轮询功能和nfs共享实现负载均衡

web服务器(LAMP)通过DNS轮询功能和nfs共享实现负载均衡,部署discuz论坛

拓扑思路:

服务器1:mariadb+nfs;172.20.120.40

服务器2:apache+php-fpm;172.20.120.41

服务器3:apache+bind;172.20.120.42

 

服务器1:mariadb+nfs;172.20.120.40

# yum install mariadb-server nfs-utils

部署nfs共享;分别使用lvm当做数据库目录/mydata、网页文件目录/vhosts;

# yum install mariadb-server nfs-utils -y
# fdisk -l /dev/sda
# partx -a /dev/sda
# pvcreate /dev/sda3
# vgcreate vg01 /dev/sda3
# lvcreate -L 8G -n mydata vg01
# lvcreate -L 8G -n myhtdoc vg01
# mkfs -t xfs /dev/vg01/mydata
# mkfs -t xfs/dev/vg01/myhtdoc
# mkdir /mydata
# mkdir /vhosts
# vim /etc/fstab 添加如下

/dev/vg01/mydata /mydata xfs defaults 0 0
/dev/vg01/myhtdoc /vhosts xfs defaults 0 0

# mount -a
# vim /etc/exports
/vhosts 172.20.120.41(rw,no_root_squash) 172.20.120.42(rw,no_root_squash)

# cp /usr/share/mysql/my-large.cnf /etc/my.cnf
# vim /etc/my.cnf
innodb_file_per_table = on
skip_name_resolv = on
datadir = /mydata/data

# mkdir -pv /mydata/data
# chown mysql:mysql /mydata/data
# systemctl enable nfs mariadb
# systemctl start nfs mariadb
# mysql_secure_installation

下载discuz并上传网页文件到/vhosts/web1目录下

 

服务器2:apache+php-fpm;172.20.120.41

# yum install httpd php-fpm php-mysql nfs-utils -y

# vim /etc/fstab

172.20.120.40:/vhosts /vhosts nfs defaults,_netdev 0 0

# mount -a

# vim /etc/httpd/conf/htttpd.conf

AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps

DirectoryIndex index.php index.html

<VirtualHost *:80>
ServerName bbs.lewis.com
DocumentRoot /vhosts/web1
ProxyRequests off
ProxyPassMatch ^/(.*\.php(/.*)?)$ fcgi://172.20.120.41:9000/vhosts/web1/$1
<Directory “/vhosts”>
Require all granted
Options none
AllowOverride none
</Directory>
</VirtualHost>

 

# vim /etc/php-fpm.d/www.conf

listen = 172.20.120.41:9000

listen.allowed_clients = 172.20.120.41,172.20.120.42

 

# systemctl enable httpd php-fpm

# systemctl start httpd php-fpm

 

 

服务器3:apache+bind;172.20.120.42

# yum install httpd bind nfs-utils -y

# vim /etc/fstab

172.20.120.40:/vhosts /vhosts nfs defaults,_netdev 0 0

# mount -a

# vim /etc/httpd/conf/htttpd.conf

AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps

DirectoryIndex index.php index.html

<VirtualHost *:80>
ServerName bbs.lewis.com
DocumentRoot /vhosts/web1
ProxyRequests off
ProxyPassMatch ^/(.*\.php(/.*)?)$ fcgi://172.20.120.41:9000/vhosts/web1/$1
<Directory “/vhosts”>
Require all granted
Options none
AllowOverride none
</Directory>
</VirtualHost>

# vim /etc/named.conf

options {
listen-on port 53 { 172.20.120.42; };
// listen-on-v6 port 53 { ::1; };
allow-query { 172.20.120.0/16; };

# vim /etc/named.rfc1912.zones

zone “lewis.com” IN {
type master;
file “lewis.com.zone”;
allow-update { none; };
};

# vim /var/named/lewis.com.zone

$TTL 1D
@ IN SOA ns.lewis.com. root@localhost (
2018060501
2H
20M
1W
1D
)
IN NS ns.lewis.com.
ns IN A 172.20.120.42
bbs IN A 172.20.120.41
bbs IN A 172.20.120.42
lewis.com. IN A 172.20.120.42
lewis.com. IN A 172.20.120.41

# systemctl enable httpd named
# systemctl start httpd named

本文来自投稿,不代表Linux运维部落立场,如若转载,请注明出处:http://www.178linux.com/100304

(0)
N26-深圳-城市蜗牛N26-深圳-城市蜗牛
上一篇 2018-06-04 11:54
下一篇 2018-06-04 18:57

相关推荐

  • Linux系统用户管理与文本处理

    1、列出当前系统上所有已经登录的用户的用户名,同一个用户登录多次,则只显示一次。 ~]# who | cut -d’ ‘ -f1 | sort -u 2、取出最后登录到当前系统的用户的相关信息。 ~]# who | sort -k 3 -r | head -n 1 | cut -d’ ‘ -f1 | id 3、…

    Linux笔记 2018-07-15
  • linux文件管理常用命令

    日常管理linux文件

    Linux笔记 2018-03-31
  • LVM ,RAID详解及实例分析

    lvm 逻辑卷:由 dm 模块实现PV :物理卷 物理设备:可以是分区,raidVG :由多个pv组合的一个卷组相当于扩展分区,不能直接使用,它会将多个pv组合的逻辑设备上划分为多个大小为PE的块,PE大小比block chunk 大的多,由于受内核限制的原因,一个逻辑卷(Logic Volume)最多只能包含65536个PE(Physical Extent…

    Linux笔记 2018-04-23
  • 关于shell脚本编程的基础知识理解介绍

    shell:     Shell 是一个用 C 语言编写的程序,它是用户使用 Linux 的桥梁。Shell 既是一种命令语言,又是一种程序设计语言。 shell脚本:是一种为shell编写的脚本程序,其编辑风格可以分为过程式和对象式。 过程式:是以指令为中心且数据服务于指令。 对象式:是以数据为中心且指令服务于数据。 shell基本编程概念和环境: She…

    2018-04-16
  • 数组、字符串处理及变量

    拍照是被动学习,记笔记才是主动学习!

    2018-05-11