基于NGINX实现负载均衡

实现多机分布式部署Discuz 论坛

1.准备三台主机,分别安装 httpd+php*. mariadb*,nfs-untils*

2、三台主机全部都要关闭防火墙和selinux

3、NFS主机配置,创建共享目录,在目录内上传论坛压缩包,然后解压到当前目录

4.修改NFS 配置文件,允许所有客户端访问此共享目录,具备 rw权限。启动服务

5.Apache主机配置,挂载共享目录到/var/www/html,修改upload目录权限,复制目录内容到/var/www/html。启动httpd 服务

6.Mysql 主机配置,启动数据库,配置对应密码,登录开放远程访问权限,刷新权限

7.基于NGINX完成的负载均衡,访问NGINX主机IP  刷新可以查看到apache主页变更

8.在两个NGINX主机上安装keepalived,启动keepalived服务

配置yum源

VMware虚拟机配置本地YUM源

  1. 通过虚拟机配置,添加光盘镜像

     

    

  1. 在系统上确认光盘被识别,使命令  lsblk   确认光驱sr0有大小
  2. 挂载光盘到指定目录   mount  /dev/sr0   /mnt
  3. 确认挂载成功  df -hT  或者  lsblk  查看设备与挂载点是否对应
  4. 配置yum源
  1. 备份原有yum仓库配置  cp  -rp  /etc/yum.repos.d/   /
  2. 切换目录到/etc/yum.repos.d   cd    /etc/yum.repos.d/
  3. 清空原有yum源配置   rm  -rf  *
  4. 添加新的Yum配置文件   vi   centos.repo

 [源标识]   当前文件中源标识名称唯一

name=描述语

enabled=1    确认启动此仓库,0代表不启动

gpgcheck=0   是否仓库程序安装时,进行数字认证,0不认证

baseurl=file:///mnt     仓库位置  本地  file://绝对路径  网络 ftp://  http://  https:// mirrors://

保存退出

  1. 清空原有yum缓存,生成新缓存

清空:yum  clean all

生成: yum  repolist

NFS

NFS 采用服务器/客户端工作模式。

在NFS 服务器上将目录设置为输出目录(即共享目录)后,客户端就可以将这个目卖自己系统中的某个目录下。

结论:NFS 只能共享目录,若想共享某个文件需要将文件放到目录下,将目录设置为录。客户端使用挂载方式访问共享目录中的内容。

实现快速多台电脑配置yum源:一台机器配置后使用scp命令完成多台主机的传输

基于 ssh远程复制文件:scp 本地文件路径 root@目标主机IP:目录路径

               [例如:scp /etc/yum.repos.d/centos.repo root@ip地址:/etc/yum.repos.

1.软件安装

基于 yum 安装: yum install -y  nfs-utils*

2.启动软件

先启动守护进程: systemctl start rpcbind

再启动运行程序: systemctl start nfs

3.创建共享目录,修改配置文件

创建共享目录:mkdir /luntan

上传需要被共享的文件到这个目录中去

 wget  http://download.comsenz.com/DiscuzX/3.2/Discuz_X3.2_SC_UTF8.zip

修改配置文件:vi /etc/exports

文件内容:共享目录的绝对路径 客户端(权限)

例如: /luntan *(rw,no_root_squash)

安装NFS   yum install -y install nfs

关闭防火墙, systemctl stop firewalld

selinux        setenforce 0

先启动守护进程  systemctl start rpcbind

再启动运行程序  systemctl start nfs

上传文件    wget  http://mirrors.aliyun.com/repo/Centos-7.repo

更换到/目录   cd /

创建文件夹/luntan   mkdir /luntan

更换目录 /luntan     cd /luntan    

权限  Vi /etc/exports   /luntan *(rw,no_root_squash)

4.切换到客户端主机上进行挂载挂载共享目录到指定挂载点:

mount -t 文件系统类型 服务端IP:共享目录绝对路径本机挂点

例如: mount -t nfs 服务端 IP:/luntan /var/www/html

常见错误:

(1)提示文件系统类型不存在。解决方式:yum install ynfs*

(2)提示挂载点目录路径或共享目录不存在错误。解决方式:确认本机挂载点正确,确认共享目录路径书写正确。

(3)提示Norouteto host。解决方式:关闭客户端服务器的防火墙和selinux

(4)提示拒绝被挂载。解决方式:服务端使用命令 exportfs +直看配置文件语法是否有误。

5.验证挂载成功

Showmount -e 本机IP地址

Apache

配置yum源 复制yum  在NFS上输入  scp /本地文件路径  root@目标主机IP:目标路径

安装NFS   yum install -y nfs*

安装httpd* yum install -y httpd*

安装php*  yum install -y php*

挂载共享目录到指定挂载点

Mount -t 文件系统类型 服务端IP:共享目录绝对路径  本地挂载点

【mount  -t nfs  ip:/luntan  /var/www/html】

验证挂载成功 showmount -e 本机IP

安装unzip*   yum install -y unzip*

切换目录     cd /var/www/html

解压       unzip D......[将NFS里面下载的Dis.......解 压到httpd里面

移动  mv /var/www/html/upload/*  /var/www/html

修改权限  chmod -R 757 data config uc*

关闭防火墙 systemctl stop firewalld

关闭selinux        setenforce 0

重新启动httpd     systemctl restart httpd

验证

MySQL【配置数据库开启远程服务】

配置yum源 复制yum  在NFS上输入  scp /本地文件路径  root@目标主机IP

配置数据库开启远程管理

1.安装数据库 yum install -y mariadb*

2.启动数据库 systemctl start mariadb

3.配置密码 mysql secure installation

4.本机登录验证 mysql -uroot -p

5.授权 grant all privilegeson ** to 'root'@'%' identified by '123456';

6. 刷新权限 flush privileges;

7.退出 quit

8.关闭主机防火墙  systemctl stop firewalld

9.关闭主机selinux  setenfroce 0

基于NGINX完成的负载均衡

  1. 配置yum源

[nginx-stable]

name=nginx stable repo

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

gpgcheck=0

enabled=1

gpgkey=https://nginx.org/keys/nginx_signing.key

2.修改/etc/resolv.conf

nameserver   网关

  1. 安装nginx

yum   install  -y  nginx

  1. 启动

systemctl   start  nginx

注:nginx使用tcp80端口,请注意与其他web服务冲突、

  1. 配置反向代理的主机是谁

vi   /etc/nginx/nginx.conf

http {

...

    upstream backend {

        server 192.168.100.102:80;     apache1主机IP

        server 192.168.100.103:80;     apache2主机IP

    }

}

  1. 配置Nginx开启反向代理访问

/etc/nginx/conf.d/default.conf

server {

...

location / {

        proxy_pass http://backend;

        proxy_redirect default;

        #设置代理

        proxy_set_header Host $host;       

        proxy_set_header X-Real-IP $remote_addr;

    }

}

  1. 访问验证

访问NGINX主机IP  刷新可以查看到apache主页变更

7.在两个NGINX主机上安装keepalived

修改配置/etc/keepalived/keepalived.conf

清空内容后,添加以下内容

global_defs {  

   router_id 1

}

vrrp_instance VI_1 {   

    state MASTER

    interface ens33

    virtual_router_id 1

    priority 100

    advert_int 1

    authentication {

        auth_type PASS

        auth_pass 123456

    }

    virtual_ipaddress {    

        192.168.100.200

    }

}

辅调度器上要稍作修改:

将  router_id 1  改为  router_id 2

将  state MASTER  改为  state BACKUP

将  priority 100  改为  priority 99

其他不变

8.修改windows的hosts文件,添加一个新的域名

修改文件C:\Windows\System32\drivers\etc\hosts

在最后一行添加  IP  域名

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值