博客网站的优化一

为了提升网站并发处理能力和应对单点故障,该博客介绍了通过搭建Haproxy实现负载均衡,结合NFS共享内容,数据库独立,DNS域名解析等措施优化网站架构。详细阐述了配置过程,包括web服务器、DNS服务器、haproxy、NFS服务器和数据库服务器的角色和设置,确保网站服务的高可用和内容一致性。
摘要由CSDN通过智能技术生成

博客网站的优化一

网站架构:LNMP+WordPress

系统:rhel7+centos7(虚拟机)

概述:

为提高网站的并发效果,适应不断增大的访问量需求,以及防止服务器的单点故障,因此将网站的一台web服务器改造成三台web服务,

采用Haproxy代理,对服务器进行负载均衡调度,充分利用服务器性能.

同时保证所有服务器的提供的博客网站的服务内容一致,采用单独的NFS服务器,存放博客网站的内容,共享给三个web服务器.

为进一步减轻服务器的压力,将数据库服务与web服务器进行解耦分离,也便于以后进行数据库服务集群,解决数据库的单点故障等.

配置DNS服务器,屏蔽真实的地址,同时也便于用户更好的记住地址,分配一个域名www.mylab.com

 

需求整理:

  • 数据库独立于web服务器
  • NFS服务共享博客网站内容
  • 多台web服务提高并发访问,防止单点故障
  • DNS域名解析服务提供便捷的网站访问
  • Haproxy反向代理web服务,提高负载均衡,高可用的网站服务

 

规划:

client     192.168.2.254/24 192.168.4.254/24

dns        192.168.4.5/24 192.168.2.5/24 安装包: bind bind-chroot

haproxy 192.168.4.5/24 192.168.2.5/24 安装包:haproxy

web1  192.168.2.11/24 安装包:gcc pcre-devel openssl-devel php php-fpm php-mysql mariadb-devel nfs-utils nginx-1.12.2.tar.gz

web2  192.168.2.12/24 安装包:gcc pcre-devel openssl-devel php php-fpm php-mysql mariadb-devel nfs-utils nginx-1.12.2.tar.gz

web3 192.168.2.13/24 安装包:gcc pcre-devel openssl-devel php php-fpm php-mysql mariadb-devel nfs-utils nginx-1.12.2.tar.gz

dbserver 192.168.2.21/24 安装包:mariadb mariadb-server mariadb-devel

nfsserver 192.168.2.31/24 安装包:nfs-utils wordpress-5.0.2-zh_CN.tar.gz的php文件内容为共享

 

拓扑图:

 

配置注意点:

  • nginx需要源码编译,configure 配置模块添加两项--with-http_ssl_module --with-http_stub_status_module
  • nginx 配置文件动静分离设置
  • nginx 开机自启服务echo "/usr/local/nginx/sbin/nginx" >> /etc/rc.local chmod +x /etc/rc.local
  • haproxy 配置文件/etc/haproxy/haproxy.conf,添加web集群,设置轮询调度
  • NFS使用的是随机端口,每次启动NFS都需要将自己的随机端口注册到rpcbind服务,这样客户端访问NFS时先到rpcbind查询端口信息,得到端口信息后再访问NFS服务。

       systemctl restart rpcbind

       systemctl enable rpcbind

  • NFS 共享文件夹所有者和所属组设置成apache,因为解析php脚本需要操作权限
  • 三台web服务器开机自动挂载共享文件 echo "192.168.2.31:/web_share/html/ /usr/local/nginx/html/ nfs defaults 0 0" >> /etc/fstab
  • 博客网站的域名可以设置www.mylab.com, 便于检查网站访问效果,案例中给的lab.com,互联网可以访问
  • 真机的/etc/hosts的文件添加域名 不加www.mylab.com ,而是使用nameserver 192.168.4.5
  • 修改wordpress的配置文件wp-config.php,使浏览器访问网站某个子页面后,URL不会固定到某一台后端服务器不轮询,添加两行

       define('WP_SITEURL', 'http://www.lab.com');

       define('WP_HOME', 'http://www.lab.com');

 

 

 

 

 

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值