基于NGINX实现负载均衡

基于NGINX实现负载均衡

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

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源

配置yum源

VMware虚拟机配置本地YUM源

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

 2.在系统上确认光盘被识别,使用命令  lsblk   确认光驱sr0有大小

3.挂载光盘到指定目录   mount  /dev/sr0   /mnt

4.确认挂载成功  df -hT  或者  lsblk  查看设备与挂载点是否对应

5。配置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

关闭防火墙, systemctl stop firewalld

关闭selinux        setenforce 0

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

先启动守护进程: systemctl start rpcbind

再启动运行程序: systemctl start nfs

创建共享目录:mkdir /luntan

切换目录;cd /luntan

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

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

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

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

例如: /luntan *(rw,no_root_squash)

Apache

关闭防火墙, systemctl stop firewalld

关闭selinux        setenforce 0

配置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

常见错误:

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

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

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

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

验证挂载成功

Showmount -e 本机IP地址

安装unzip*   yum install -y unzip*

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

 例如: unzip D  ........ -d /var/www/html

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

切换目录     cd /var/www/html

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

重新启动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 privileges on *.* to 'root'@'%' identified by '123456';

6. 刷新权限 flush privileges;

7.退出 quit

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

9.关闭主机selinux  setenfroce 0

nginx

基于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  域名

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值