当前位置: 首页 > news >正文

day042-负载均衡与web集群搭建

文章目录

  • 0. 老男孩思想-面试官问:你对加班的看法?
  • 1. 负载均衡
  • 2. 搭建负载均衡的WordPress集群
    • 2.1 负载均衡服务器
    • 2.2 配置web服务器
    • 2.3 测试
  • 踩坑记录
    • 1. /var/cache/nginx权限问题

0. 老男孩思想-面试官问:你对加班的看法?

  • 互联网公司没有不加班的,既然我选择了互联网公司,我完全可以加班
  • 学无止境,我需要不断的去学习新的知识,学习公司需要使用的技术;我一般没事的时候或是晚上也会学习,所以在家学习或在公司加班学习对我来说都一样
  • 接触工作越多我的成长就越快,经验积累的就越多,我可以接受加班

30岁之前不加班,30岁之后连加班的机会也没有

在这里插入图片描述

1. 负载均衡

  • 负载均衡:load balance
  • 应用场景:web服务器有多台的情况,用户的请求尽可能平均分布在不同web服务器上
  • 负载均衡服务器一般是网站流量入口
负载均衡说明应用场景
开源软件nginx(web/负载均衡/缓存)、tengine、OpenResty(lua)主要使用、使用简单
专业负载均衡软件
开源软件
haproxy(专业的负载均衡软件)负载均衡功能比nginx强大
lvs(专业负载均衡软件、性能要求高)适用于高并发场景;
并发性能好,维护较为复杂
硬件负载均衡F5成本高、最好成对
云产品云服务器上的负载均衡产品可以使用云产品也可在云上自建负载均衡

2. 搭建负载均衡的WordPress集群

在这里插入图片描述

2.1 负载均衡服务器

  • 安装nginx服务,添加网站的子配置文件:
[root@lb01 /etc/nginx/conf.d]# cat blog.oldboy.cn.conf 
# 创建分组/池塘,web服务器地址
# 分组名字唯一
upstream blog_pools {server 10.0.0.7:80;server 10.0.0.8:80;
}
server {listen 80;server_name blog.oldboy.cn;access_log /var/log/nginx/blog.oldboy.cn-access.log main;error_log /var/log/nginx/blog.oldboy.cn-error.log notice;root /app/code/lb;location / {proxy_pass http://blog_pools; # 重定向到web服务器proxy_set_header Host $http_host; # 向web服务器发起请求时,携带原客户端hostproxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; # 向web服务器发起请求时,携带原客户端ipproxy_set_header X-Real-Ip $remote_addr;}
}
  • 检查语法并启动nginx
[root@lb01 /etc/nginx/conf.d]# nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
[root@lb01 /etc/nginx/conf.d]# systemctl reload nginx.service 

2.2 配置web服务器

  • 创建虚拟用户:www,1999
  • 下载nginx、php服务
  • web02的配置与web01相同,直接使用scp复制
  • 复制内容:
    • nginx:/etc/nginx/conf.d/*
    • 站点根目录:/app/code/blog/*
    • php配置文件:/etc/php-fpm.d/www.conf
  • 注意目录的所属用户及id,要与nfs的虚拟用户相同
  • nfs挂载到/app/code/blog/wp-content/uploads下
  • 在web服务器上远程登录db01上的mysql

2.3 测试

在这里插入图片描述

搭建web集群

踩坑记录

1. /var/cache/nginx权限问题

在这里插入图片描述

/var/cache/nginx目录的所属用户应修改为www

http://www.lryc.cn/news/575312.html

相关文章:

  • python3虚拟机线程切换过程
  • 定位坐标系深度研究报告
  • LangGraph--基础学习(Human-in-the-loop 人工参与深入学习2)
  • 达梦数据库安装
  • 深入理解Redis
  • 【深度学习新浪潮】什么是上下文工程?
  • Introduction to Software Engineering(TE)
  • Linux 怎么恢复sshd.service
  • 【C++】std::function是什么
  • 【网络实验】-配置用户登录
  • 《高等数学》(同济大学·第7版)第九章 多元函数微分法及其应用第一节多元函数的基本概念
  • ARM内核之CMSIS
  • 《从0到1:C/C++音视频开发自学完全指南》
  • 超级好用的小软件:geek,卸载软件,2m大小
  • HarmonyOS 5分布式数据库有哪些性能指标?
  • 50天50个小项目 (Vue3 + Tailwindcss V4) ✨ | BackgroundSlider(背景滑块)
  • 【Docker基础】Docker容器管理:docker pause、stop、kill区别
  • Windows下安装zookeeper
  • 【nRF52832】【环境搭建 1】【ubuntu下搭建nRF52832开发环境】
  • 一篇文章了解XML
  • 20250625解决在Ubuntu20.04.6LTS下编译RK3588的Android14出现cfg80211.ko的overriding问题
  • 【DataWhale组队学习】AI办公实践与应用-数据分析
  • 《仿盒马》app开发技术分享-- 待发货兑换订单列表(76)
  • 使用EasyExcel处理动态表头数据导入
  • Aurora MySQL 3.05/3.06/3.07版本即将停用,全局数据库升级实战指南
  • 鸿蒙ArkUI---基础组件Tabs(Tabbar)
  • 日本生活:日语语言学校-日语作文-沟通无国界(5)-题目:我的一天
  • Boss:攻击
  • ChaCha20加密解密技术
  • 使用 Netty 实现 TCP 私有协议(解决粘包/拆包)