当前位置:论坛首页 > Linux面板 > Linux面板教程

负载均衡之WordPress博客项目案例

发表在 Linux面板2022-4-13 15:54 [复制链接] 27 28689

本次负载均衡的教程以WordPress博客案例来写,大致架构如图(最小可用架构)
最小可用负载均衡.png
服务器分配:
192.168.1.190为主节点+数据库服务器
192.168.1.191为WordPress节点1
192.168.1.192为WordPress节点2
访问流程:用户访问负载均衡主节点-----根据算法分配到节点1或节点2
负载均衡配置步骤:
1、在192.168.1.190服务器上安装好建站环境,我这里的建站环境是CentOS7.9,Nginx1.21,MySQL5.7,PHP8.0,建站源码是一键部署中的WordPress5.6版本
建站环境.png 一键部署源码WordPress.png
192.168.1.191和192.168.1.192的建站环境分别如下
子节点191的建站环境.png 子节点192的建站环境.png

2、先在192.168.1.190上创建好网站
主节点部署网站.png 进行WordPress的建站配置.png 数据库主机信息.png 建站完成.png
3、将主节点建站好的网站包打包,创建分享连接
将压缩包进行分享.png
4、分别在191和192节点上下载后并解压
节点1上远程下载.png 右键解压.png
5、分别在节点1和节点2 上进行建站
添加节点1的网站.png 添加节点2的网站.png
6、回到主节点,删除当前的建站环境,注意不要删除数据库
删除主节点的网站.png
7、配置192.168.1.191和192.168.1.192这两台服务器对数据库的访问权限
指定ip访问数据库.png
分别修改192.168.1.191和192.168.1.192网站中的数据库配置
打开/www/wwwroot/412test.dapaoit.com/wp-config.php
修改数据库地址.png

8、安装负载均衡重构版
安装重构版.png
9、在节点192.168.1.191,192.168.1.192,分别创建验证文件a1.txt  a2.txt
a1.png a2txt.png
验证a1.txt  a2.txt是否可以访问
分别访问验证文件.png
10、添加节点1 和节点2
a1节点.png a2节点.png
11、节点添加完成后,添加域名
主节点添加域名.png

提交后访问网站
负载均衡.gif
到这里负载均衡已经部署完成,下面讲解部署了SSL证书后,如何被WordPress网站兼容
12、部署SSL,在主节点上部署
主节点增加证书.png
13、此时访问会有静态文件加载失败的问题,原因是由于网站在部署的时候使用的是HTTP方式进行部署的
部署ssl后会提示.png
14、使用phpmyadmin打开WordPress的数据库,将 wp_options、wp_users表中的http连接全部修改成https的
修改http到https.png 修改2.png
15、增加网站代码里的HTTPS协议支持
找到/www/wwwroot/412test.dapaoit.com/wp-includes/functions.php中的第8行:
  1. require ABSPATH . WPINC . '/option.php';
复制代码

后面增加:
  1. add_filter('script_loader_src', 'agnostic_script_loader_src', 20,2); function agnostic_script_loader_src($src, $handle) { return preg_replace('/^(http|https):/', '', $src); }
  2. add_filter('style_loader_src', 'agnostic_style_loader_src', 20,2); function agnostic_style_loader_src($src, $handle) { return preg_replace('/^(http|https):/', '', $src); }
复制代码

修改fun配置文件.png
打开/www/wwwroot/412test.dapaoit.com/wp-config.php
在第19行下增加
  1. $_SERVER['HTTPS'] = 'on';
  2. define('FORCE_SSL_LOGIN', true);
  3. define('FORCE_SSL_ADMIN', true);
复制代码

支持https1.png

16、保存后开启主节点的强制https
全部开启强制https.png
17、测试访问
测试访问信息.png

至此,负载均衡重构版之WordPress博客项目案例教程结束,如果您有好的建议或者其他的问题请在下面留言
FAQ:
问:最小架构必须是三台服务器吗?两台可以吗?
答:为了更好的提供服务,我们的主节点只做了转发的作用,符合Linux运维的规范,另外转发的服务器已经增加了数据库了(也可以将数据库独立安装到一台服务器上),就不要再处理网站上的其他业务了,转发节点尽量配置高一点
问:在节点创建网站时候,为什么要创建ip建站?
答:因为使用IP建站,省略了域名DNS解析的步骤,这样建立的负载转发到子节点更快
问:数据库权限可以设置所有人吗?
答:为了数据库的安全,不建议设置为所有人,指定IP访问
问:会话跟随怎么选择?
答:会话跟随有三种选择方案,
cookie跟随:如果您的网站有使用CDN这类型的加速,需要使用这个cookie跟随的方式来做负载
IP地址跟随:通过客户端的IP地址来保持会话,这样访问的请求会在会话时间内落到同一个节点上
关闭:当您的网站是纯静态的,无需登录和数据交互,就可以选择这种方式


使用道具 举报 只看该作者 回复
发表于 2023-3-27 15:21:25 | 显示全部楼层
负载答疑1、负载均衡会把子节点的带宽10MB和主节点的带宽100MB进行平均吗?
负载答疑.png
答:不会进行平分,访问请求是先到主节点,然后再由主节点通过负载均衡算法分配给后面的子节点,由子节点将数据处理后,返回给主节点,再由返回给客户



使用道具 举报 回复 支持 反对
发表于 2022-8-21 16:04:02 | 显示全部楼层
两个子节点服务器与主服务器在一个机房,可通过内网IP访问,请问是否还需要给这两个子节点服务器购买公网带宽?
使用道具 举报 回复 支持 2 反对 0
发表于 2022-4-13 20:40:05 | 显示全部楼层
火前留名  
使用道具 举报 回复 支持 反对
发表于 2022-8-21 16:33:20 | 显示全部楼层
前排占座,负载均衡是个很有用的知识
使用道具 举报 回复 支持 反对
发表于 2022-8-22 21:16:09 | 显示全部楼层

有两个疑问

本帖最后由 200882254 于 2022-8-23 01:08 编辑

1、为嘛那么多500错误?如图所示: 1.png

2、php拓展插件是都安装还是只安装主服务器?
如:opcache和redis这些

3、伪静态规则只设置在多个节点服务器上吗?


使用道具 举报 回复 支持 反对
发表于 2022-8-23 00:25:14 | 显示全部楼层
本帖最后由 200882254 于 2022-8-23 14:45 编辑

php拓展插件是都安装还是只安装主服务器?
如:opcache和redis这些
使用道具 举报 回复 支持 反对
发表于 2022-8-25 09:45:45 | 显示全部楼层
200882254 发表于 2022-8-23 00:25
php拓展插件是都安装还是只安装主服务器?
如:opcache和redis这些

安装到子节点,主节点是不处理业务的,只做抓发
使用道具 举报 回复 支持 反对
发表于 2022-8-25 09:46:14 | 显示全部楼层
200882254 发表于 2022-8-22 21:16
1、为嘛那么多500错误?如图所示:

2、php拓展插件是都安装还是只安装主服务器?

伪静态在子节点上配置
使用道具 举报 回复 支持 反对
发表于 2022-9-12 18:35:46 | 显示全部楼层
请问负载均衡Apache行不行
使用道具 举报 回复 支持 反对
发表于 2022-10-8 12:25:08 | 显示全部楼层
是不是 修改服务器A的php文件B也要修改
使用道具 举报 回复 支持 反对
发表于 2022-10-13 22:45:30 | 显示全部楼层
三台都需要购买授权?
使用道具 举报 回复 支持 反对
发表于 2022-10-14 10:13:06 | 显示全部楼层
剃刀 发表于 2022-9-12 18:35
请问负载均衡Apache行不行

负责负载均衡的服务器要安装nginx,后端可以apache
使用道具 举报 回复 支持 反对
发表于 2022-10-14 10:13:23 | 显示全部楼层
荞行健 发表于 2022-10-8 12:25
是不是 修改服务器A的php文件B也要修改

是的,网站的文件数据要一样
使用道具 举报 回复 支持 反对
发表于 2022-10-14 10:13:51 | 显示全部楼层
icciuo 发表于 2022-10-13 22:45
三台都需要购买授权?

只要一台负责负载均衡的购买就行了
使用道具 举报 回复 支持 反对
12下一页
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

普通问题处理

论坛响应时间:72小时

问题处理方式:排队(仅解答)

工作时间:白班:9:00 - 18:00

紧急运维服务

响应时间:3分钟

问题处理方式:宝塔专家1对1服务

工作时间:工作日:9:00 - 18:30

宝塔专业团队为您解决服务器疑难问题

立即付费处理

工作时间:09:00至24:00

快速回复 返回顶部 返回列表