博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
记一次负载均衡+NFS博客站点搭建的总结
阅读量:6800 次
发布时间:2019-06-26

本文共 3176 字,大约阅读时间需要 10 分钟。

起因

  

原本是打算搭建个小博客站点做实验,突然想起之前遇到的一次负载均衡失效的经历,便打算做一次实验重现当初的情况并记录下来,防止日后再遇到类似的情况懵逼。
  

复现流程

  

架构体系

  

  原环境:前端依赖nginx做负载均衡的调度器,web端是httpd+php-fpm分离,分别处理动态和静态页面,后端mariadb数据库做数据存储,NFS服务器提供站点文件作出共享,防止,web端出现站点文件不一致的情况。
  模拟环境:nginx做负载均衡器,httpd和php-fpm共存在同一主机,NFS和mariadb分处2台主机,整个模拟一共使用5台主机。
  

软件环境与架构图

  
前提:
所有节点主机全部关闭selinux,清空防火墙规则。
系统 httpd php nginx maiadb
CentOS 7 httpd2.4 5.4.14 1.10.2 10.2.15

  

架构图
记一次负载均衡+NFS博客站点搭建的总结

  

配置各个节点

  

配置nginx节点

  

1.安装nginx

yum install nginx -y

2.编辑nginx配置文件

vim /etc/nginx/conf.d/upstream.conf#写入下面内容#定义负载转发的后端ipupstream www.douma.com {  server 192.168.99.131:80;  server 192.168.99.130:80;}#配置主配置信息server {  listen 80;  server_name www.douma.com;  access_log /var/log/douma-access.log;  error_log /var/log/douma-error.log debug;  #set your default location  location / {    proxy_pass http://www.douma.com;  }}

3.启动nginx

systemctl start nginx

记一次负载均衡+NFS博客站点搭建的总结

  

配置mariadb

  

1.安装mariadb

#这里直接yum,新版的mariadb要到官网去配置新版的mariadb更新源yum install mariadb -ysystemctl start mairadb

2.授权账号

MariaDB [(none)]> grant all on wp.* to wp_admin@'192.168.99.%' identified by 'admin';MariaDB [(none)]> flush privileges;

3.建立wordpress数据库

MariaDB [(none)]> create database wp;

记一次负载均衡+NFS博客站点搭建的总结

  

配置NFS

  

1.安装nfs管理工具,并且启动

# centos7,centos6要先启动rpcbind服务才能启动nfs-serveryum install nfs-utils -ysystemctl start nfs-server

2.编辑配置文件

vim /etc/exports#写入想要共享的目录和允许挂载的机器和读写权限/web/wordpress 192.168.99.0/24(rw)

3.创建目录并且放入wordpress站点文件

mkdir /web cd /web wget https://cn.wordpress.org/wordpress-4.9.4-zh_CN.tar.gz  tar -xvf wordpress-4.9.4-zh_CN.tar.gz

4.设置acl权限,要给父附录权限,否则在wordpress在上传文件会失败

#由于httpd是yum安装的,所以uid号相同,所以设置一次就好setfacl -R -m u:48:rwx /web

5.将nfs目录分享出去

#重读exports文件exportfs -r#查看分享出去的目录和权限exportfs -v

6.编辑wordpress的配置文件

cd wordpressmv wp-config.sample.php wp-config.phpvim  wp-config.php

记一次负载均衡+NFS博客站点搭建的总结

  

配置web服务器

  

2台web都按照如下配置
1.安装httpd和php-fmp

yum install httpd php-fpm php-mysql -y#由于未做分离所以可以直接启动,无需修改,如果分离,要注意修改配置文件允许远程访问和监听全部ipsystemctl start php-fpm

2.配置httpd

#自定义配置文件名字,但是目录和结尾要固定 vim /etc/httpd/conf.d/php-fpm.conf #写入如下字段#将php也作为默认页DirectoryIndex index.php#关闭代理请求ProxyRequests Off#设置允许代理的请求,这里未做分离所以直接代理到httpd目录就好ProxyPassMatch ^/(.*\.php)$ fcgi://127.0.0.1:9000/var/www/html/$1

记一次负载均衡+NFS博客站点搭建的总结

3.安装nfs管理工具

yum install nfs-utils -y#查看nfs服务器共享的文件夹showmount -e 192.168.99.135

记一次负载均衡+NFS博客站点搭建的总结

4.挂载目录

#这里有2中方法#法一,编译fstabl文件vim /etc/fstab192.168.99.135:/web/wordpress /var/www/html/ nfs defaults 0 0mount -a

记一次负载均衡+NFS博客站点搭建的总结

#法二,直接命令挂载mount 192.168.99.135:/web/wordpress /var/www/html/

5.启动httpd

systemctl start httpd

  

配置宿主机

  

由于没有做dns所以要修改宿主机的hosts文件才能实现基于域名的访问

C:\Windows\System32\drivers\etc\hosts#添入如下字段192.168.99.150  www.douma.com

  

安装wordpress

  

1.宿主机在浏览器打开www.douma.com
填写好对应信息
记一次负载均衡+NFS博客站点搭建的总结
2.安装wordpress等待完成
记一次负载均衡+NFS博客站点搭建的总结
3.重新打开www.douma.com
记一次负载均衡+NFS博客站点搭建的总结
部署完成。
  

总结

  

整个部署基本是按照问题解决后的配置来进行安装的,所以负载均衡可以正常实现。下面将会列出刚开始错误的点和配置。
  

注意点

  

nginx反向代理的配置

  

记一次负载均衡+NFS博客站点搭建的总结
记一次负载均衡+NFS博客站点搭建的总结
上面2幅图分别是正确和错误的配置,不过正常来说2个配置都没问题,但是在这里并不行;错误配置是将请求192.168.99.150的请求转发到后端的2台httpd机器上,但是在这里同时会将http://backend 也转发到后端,而wordpress会在安装过程中记录下这个站点名称,并且之后的请求会直接请求http://backend
  

wordpress数据库的记录

  

1.下面是wordpress记录到数据库的内容
这里我使用了phpmyadmin这个web端的mysql管理工具
记一次负载均衡+NFS博客站点搭建的总结
图中方框内记录的便是wordpress记录的站点地址,同时也会是以后请求的地址。
2.下面是使用调试窗口看到的请求,正常情况下下次请求会重新去请求记录的站点地址,可以重新通过nginx实现负载均衡。如果请求的站点地址不是域名而是上面nginx错误配置或者是某个web节点的地址的话,负载均衡会完全失效。
记一次负载均衡+NFS博客站点搭建的总结

转载于:https://blog.51cto.com/11010461/2132959

你可能感兴趣的文章
花生壳与网络地址转换
查看>>
4.信号与传输介质
查看>>
免费资源下载:Simplycons图标集
查看>>
MySQL 性能医生:OrzDBA
查看>>
【设计模式】代理模式
查看>>
linux脚本获取系统信息(选自实验楼实验)
查看>>
俄罗斯游戏软件:C语言应用初步感受
查看>>
PHP5.4+内置webserver,Yii中如何隐藏index.php,让URL rewrite
查看>>
linux开机启动服务设置
查看>>
Rtree实现多维空间搜索
查看>>
awk详解
查看>>
j2ee 简单网站搭建:(九)jquery datatables + jquery ui dialog 插件使用入门
查看>>
决心书
查看>>
异步8月书讯:重磅新书《人工智能(第2版)》不可错过
查看>>
软件评测-信息安全-应用安全-资源控制-用户登录限制(上)
查看>>
sudo
查看>>
11月机房技术指标
查看>>
功能表单之人员构造器字段类型详解——JEPLUS软件快速开发平台
查看>>
全球积分宝:混币圈需要怎么样的活法?
查看>>
李开复:人工智能对人类真正的威胁是什么?
查看>>